用到了jxl.jar和poi.jar

一些基本的操作Excel的操作方法:

 import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.List; import jxl.Cell;
import jxl.Workbook; import org.apache.log4j.Logger;
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFCellStyle;
import org.apache.poi.hssf.usermodel.HSSFFont;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.hssf.util.HSSFColor;
import org.dom4j.Document;
import org.dom4j.DocumentException; import com.chinadigitalvideo.hibernate.Provider;
import com.chinadigitalvideo.service.ProviderMgr;
import com.chinadigitalvideo.utils.bean.App_Data;
import com.chinadigitalvideo.xbase.GUID; public class POIExcelHelper {
public static Logger logger = Logger.getLogger(POIExcelHelper.class); /**
* 设置表头样式
* @param workbook
* @return
*/
public static HSSFCellStyle getTitleStyle(HSSFWorkbook workbook) {
HSSFFont font = workbook.createFont();
font.setColor(HSSFColor.BLUE.index);
font.setFontHeight((short) 200);
font.setFontName("楷体_GB2312");
font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD); HSSFCellStyle style = workbook.createCellStyle();
style.setAlignment(HSSFCellStyle.VERTICAL_CENTER);
style.setAlignment(HSSFCellStyle.ALIGN_CENTER);
style.setFont(font);
style.setFillForegroundColor(HSSFColor.GREY_50_PERCENT.index);
style.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND);
return style;
} /**
* 设置表格特别数据样式
* @param workbook
* @return
*/
public static HSSFCellStyle getDataStyle2(HSSFWorkbook workbook) {
HSSFFont font = workbook.createFont();
font.setColor(HSSFColor.BLACK.index);
font.setFontHeight((short) 200);
font.setFontName("楷体_GB2312"); HSSFCellStyle style = workbook.createCellStyle();
style.setAlignment(HSSFCellStyle.VERTICAL_CENTER);
style.setAlignment(HSSFCellStyle.ALIGN_LEFT);
style.setFont(font);
style.setFillForegroundColor(HSSFColor.GREY_40_PERCENT.index);
style.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND);
return style;
} /**
* 创建单元格内容
* @param row
* @param id
* @param value
* @param style
*/
@SuppressWarnings("deprecation")
public static void createCell(HSSFRow row, int id, String value, HSSFCellStyle style) {
HSSFCell cell = row.createCell((short) id);
cell.setCellType(HSSFCell.CELL_TYPE_STRING);
cell.setCellValue(value);
if (style != null) {
cell.setCellStyle(style);
}
} /**
* 创建报表文件
* @param workbook
* @param dir
* @param filename
* @throws IOException
*/
public static void createFile(HSSFWorkbook workbook, String dir, String filename)
throws IOException {
dir = dir == null ? "" : dir.trim();
if( !"".equals(dir) ){
if( !dir.endsWith(File.separator) ){
dir += File.separator ;
}
}
logger.debug("out put dir: " + dir);
File outdir = new File(dir);
if (!outdir.exists()) {
outdir.mkdirs();
}
FileOutputStream fOut = new FileOutputStream(dir + filename);
workbook.write(fOut);
fOut.flush();
fOut.close();
logger.info(dir + filename + "已经生成!");
} /**
* 读取Excel中所有的列
* @param filename
* @return
* @throws IOException
*/
private static List<Cell[]> jxlGetExcelColumns(String filename) throws IOException {
InputStream is = null;
jxl.Workbook rwb = null;
List<Cell[]> list = new ArrayList<Cell[]>();
try {
is = new FileInputStream(filename);
rwb = Workbook.getWorkbook(is);
// Sheet[] sheets = rwb.getSheets();
// int sheetLen = sheets.length;
jxl.Sheet rs = rwb.getSheet(0); // 读取第一个工作表的数据 //getRows() 获取总共多少列...getColumn(n)获取第n列...
for(int i=0; i<rs.getColumns(); i++ ){
list.add(rs.getColumn(i));
}
} catch (Exception ex) {
ex.printStackTrace();
} finally {
rwb.close();
is.close();
}
return list;
} /**
* 读取Excel中所有的行
* @param filename
* @return
*/
private static List<Cell[]> jxlGetExcelRows(String filename) {
InputStream is = null;
jxl.Workbook rwb = null;
List<Cell[]> list = new ArrayList<Cell[]>();
try {
is = new FileInputStream(filename);
rwb = Workbook.getWorkbook(is);
// Sheet[] sheets = rwb.getSheets();
// int sheetLen = sheets.length;
jxl.Sheet rs = rwb.getSheet(0); // 默认先读取第一个工作表的数据 //getRows() 获取总共多少行...getRow(n)获取第n行...
for(int i=0; i<rs.getRows(); i++ ){
list.add(rs.getRow(i));
}
} catch (Exception ex) {
ex.printStackTrace();
} finally {
rwb.close();
try {
is.close();
} catch (IOException e) {
e.printStackTrace();
}
}
return list;
}
}

Java POI操作Excle工具类的更多相关文章

  1. 自己封装的poi操作Excel工具类

    自己封装的poi操作Excel工具类 在上一篇文章<使用poi读写Excel>中分享了一下poi操作Excel的简单示例,这次要分享一下我封装的一个Excel操作的工具类. 该工具类主要完 ...

  2. java里poi操作Excel工具类【我改】

    参考原文: https://www.cnblogs.com/yizhang/p/7244917.html 我改: package test; import java.io.File; import j ...

  3. Java 借助poi操作PDF工具类

    ​ 一直以来说写一个关于Java操作PDF的工具类,也没有时间去写,今天抽空写一个简单的工具类,拥有PDF中 换行,字体大小,字体设置,字体颜色,首行缩进,居中,居左,居右,增加新一页等功能,如果需要 ...

  4. Redis操作Set工具类封装,Java Redis Set命令封装

    Redis操作Set工具类封装,Java Redis Set命令封装 >>>>>>>>>>>>>>>>& ...

  5. Redis操作List工具类封装,Java Redis List命令封装

    Redis操作List工具类封装,Java Redis List命令封装 >>>>>>>>>>>>>>>> ...

  6. java中文件操作的工具类

    代码: package com.lky.pojo; import java.io.BufferedReader; import java.io.BufferedWriter; import java. ...

  7. Java操作Redis工具类

    依赖 jar 包 <dependency> <groupId>redis.clients</groupId> <artifactId>jedis< ...

  8. 自己的包poi操作Excel工具

    在前面的文章<使用poi读写Excel>中分享了一下poi操作Excel的简单演示样例.这次要分享一下我封装的一个Excel操作的工具类. 该工具类主要完毕的功能是:读取Excel.汇总E ...

  9. 在java poi导入Excel通用工具类示例详解

    转: 在java poi导入Excel通用工具类示例详解 更新时间:2017年09月10日 14:21:36   作者:daochuwenziyao   我要评论   这篇文章主要给大家介绍了关于在j ...

随机推荐

  1. Redis基本操作-20150608

    Redis基本操作-20150608 [http://my.oschina.net/u/241255/blog/206991]   Redis是一个开源的使用ANSI C语言编写.支持网络.可基于内存 ...

  2. JS:公历、农历互转

    先申明这段代码不是我写的,纯粹只是觉的比较好用,所以记录下来以后继续使用,也同样分享给大家,大家有更好的可以推荐给我,谢谢! function CalConv(M, dateStr) { if (da ...

  3. PING的原理以及ICMP协议

    主要内容: 1.ping的原理以及工作过程 2.ICMP协议 3.ICMP的应用:ping,traceroute 1.ping的原理以及工作过程  ping的原理  ping 程序是用来探测主机到主机 ...

  4. winrar激活

    (从已经死了一次又一次终于挂掉的百度空间人工抢救出来的,发表日期2014-02-11) 新建记事本文件(txt文件),然后将文件另存为以 rarreg.key 为文件名的文件(当然由于设置的不同,可能 ...

  5. gitignore无效最简单解决办法

    git rm --cached 文件或者文件夹 git commit 提交 git push 提交

  6. SpringAOP 基础具体解释

    Spring AOP对于刚開始学习spring的同学来说有点难以理解.我刚工作的时候都没怎么理解,如今略微理解了一点,所以在这里我将用嘴简单的样例,最通俗易懂的话语来说出我的理解,可能因为我对Spri ...

  7. JavaScript中伪协议 javascript:研究

    将javascript代码添加到客户端的方法是把它放置在伪协议说明符javascript:后的URL中.这个特殊的协议类型声明了URL的主体是任意的javascript代码,它由javascript的 ...

  8. 提升jQuery开发技能的教程

    iPhone-like Sliding Headers Simple jQuery Spy Effect Simple use of Event Delegation Adding Keyboard ...

  9. Android Compatibility package 兼容性开发套件

    我们认为Android 3.0平板电脑操作系统在美国时间2011年2月22日的正式推出,对于Android手机应用程序开发者所象征的意涵是: 之前大家所开发过的Android手机应用,除了可以在And ...

  10. C语言输出单个汉字字符

    #include "stdio.h" #include "windows.h" int main() { ] = { "多字节字符串!OK!" ...