Java POI操作Excle工具类
用到了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工具类的更多相关文章
- 自己封装的poi操作Excel工具类
自己封装的poi操作Excel工具类 在上一篇文章<使用poi读写Excel>中分享了一下poi操作Excel的简单示例,这次要分享一下我封装的一个Excel操作的工具类. 该工具类主要完 ...
- java里poi操作Excel工具类【我改】
参考原文: https://www.cnblogs.com/yizhang/p/7244917.html 我改: package test; import java.io.File; import j ...
- Java 借助poi操作PDF工具类
一直以来说写一个关于Java操作PDF的工具类,也没有时间去写,今天抽空写一个简单的工具类,拥有PDF中 换行,字体大小,字体设置,字体颜色,首行缩进,居中,居左,居右,增加新一页等功能,如果需要 ...
- Redis操作Set工具类封装,Java Redis Set命令封装
Redis操作Set工具类封装,Java Redis Set命令封装 >>>>>>>>>>>>>>>>& ...
- Redis操作List工具类封装,Java Redis List命令封装
Redis操作List工具类封装,Java Redis List命令封装 >>>>>>>>>>>>>>>> ...
- java中文件操作的工具类
代码: package com.lky.pojo; import java.io.BufferedReader; import java.io.BufferedWriter; import java. ...
- Java操作Redis工具类
依赖 jar 包 <dependency> <groupId>redis.clients</groupId> <artifactId>jedis< ...
- 自己的包poi操作Excel工具
在前面的文章<使用poi读写Excel>中分享了一下poi操作Excel的简单演示样例.这次要分享一下我封装的一个Excel操作的工具类. 该工具类主要完毕的功能是:读取Excel.汇总E ...
- 在java poi导入Excel通用工具类示例详解
转: 在java poi导入Excel通用工具类示例详解 更新时间:2017年09月10日 14:21:36 作者:daochuwenziyao 我要评论 这篇文章主要给大家介绍了关于在j ...
随机推荐
- Firefox 设置技巧
在Firefox地址栏中输入“about:cache”并键入回车,接着将显示Firefox的内存缓冲设置与磁盘高速缓存设置.如果在页面上单击“List Cache Entries”链接,我们还可以查看 ...
- CSS line-height 和 vertical-align 精解(上篇)
声明本文转自:http://hi.baidu.com/wolongxzg/item/a39ef8299c984283af48f5b0 line-height属性的具体定义列表如下: 语法: line- ...
- 《Secrets of the JavaScript Ninja》:JavaScript 之运行时代码
最近,在阅读 jQuery 之父 John Resig 力作:Secrets of the JavaScript Ninja(JavaScript忍者秘籍).关于第九章提及的 JavaScript 之 ...
- mvc api odata 查询选项之 $inlinecount ,$format 选项
网上百度“odata 语法”会出来很多结果,其中有一项是比较一致的,那就是odata支持一下几种语法: $filter 条件表达式 -- 对应sql语句的where条件查询,如:/Categorie ...
- cocos2d-x (Android)之-那些常见的error记
转自:http://blog.csdn.net/callchunli/article/details/8929813 (2013/9/2) build.xml:939: java.lang.Array ...
- Qt中的 Size Hints 和 Size Policies
sizeHint 这个属性所保存的 QSize 类型的值是一个被推荐给窗口或其它组件(为了方便下面统称为widget)的尺寸,也就是说一个 widget 该有多大,它的一个参考来源就是这个 sizeH ...
- Uva10474 - Where is the Marble?
两种解法: 1.计数排序 //计数排序 #include<cstdio> #include<iostream> #include<vector> #includ ...
- (高精度运算4.7.27)UVA 10494 If We Were a Child Again(大数除法&&大数取余)
package com.njupt.acm; import java.math.BigInteger; import java.util.Scanner; public class UVA_10494 ...
- ntoskrnl.exe损坏或丢失的解决方式
同事的电脑启动时出现下面提示:"因下面文件损坏或丢失Windows无法启动 %systemroot%\system32\ntoskrnl.exe,请又一次安装以上文件的拷贝"(Wi ...
- 性能监视器(SSAS)
使用性能监视器,您可以通过性能计数器监视 Microsoft SQL Server Analysis Services (SSAS) 实例的性能. 性能监视器是用于跟踪资源使用情况的 Microsof ...