Java POI操作Excle工具类
用到了jxl.jar和poi.jar
一些基本的操作Excel的操作方法:
1 import java.io.File; 2 import java.io.FileInputStream; 3 import java.io.FileOutputStream; 4 import java.io.IOException; 5 import java.io.InputStream; 6 import java.util.ArrayList; 7 import java.util.List; 8 9 import jxl.Cell; 10 import jxl.Workbook; 11 12 import org.apache.log4j.Logger; 13 import org.apache.poi.hssf.usermodel.HSSFCell; 14 import org.apache.poi.hssf.usermodel.HSSFCellStyle; 15 import org.apache.poi.hssf.usermodel.HSSFFont; 16 import org.apache.poi.hssf.usermodel.HSSFRow; 17 import org.apache.poi.hssf.usermodel.HSSFSheet; 18 import org.apache.poi.hssf.usermodel.HSSFWorkbook; 19 import org.apache.poi.hssf.util.HSSFColor; 20 import org.dom4j.Document; 21 import org.dom4j.DocumentException; 22 23 import com.chinadigitalvideo.hibernate.Provider; 24 import com.chinadigitalvideo.service.ProviderMgr; 25 import com.chinadigitalvideo.utils.bean.App_Data; 26 import com.chinadigitalvideo.xbase.GUID; 27 28 public class POIExcelHelper { 29 public static Logger logger = Logger.getLogger(POIExcelHelper.class); 30 31 /** 32 * 设置表头样式 33 * @param workbook 34 * @return 35 */ 36 public static HSSFCellStyle getTitleStyle(HSSFWorkbook workbook) { 37 HSSFFont font = workbook.createFont(); 38 font.setColor(HSSFColor.BLUE.index); 39 font.setFontHeight((short) 200); 40 font.setFontName("楷体_GB2312"); 41 font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD); 42 43 HSSFCellStyle style = workbook.createCellStyle(); 44 style.setAlignment(HSSFCellStyle.VERTICAL_CENTER); 45 style.setAlignment(HSSFCellStyle.ALIGN_CENTER); 46 style.setFont(font); 47 style.setFillForegroundColor(HSSFColor.GREY_50_PERCENT.index); 48 style.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND); 49 return style; 50 } 51 52 /** 53 * 设置表格特别数据样式 54 * @param workbook 55 * @return 56 */ 57 public static HSSFCellStyle getDataStyle2(HSSFWorkbook workbook) { 58 HSSFFont font = workbook.createFont(); 59 font.setColor(HSSFColor.BLACK.index); 60 font.setFontHeight((short) 200); 61 font.setFontName("楷体_GB2312"); 62 63 HSSFCellStyle style = workbook.createCellStyle(); 64 style.setAlignment(HSSFCellStyle.VERTICAL_CENTER); 65 style.setAlignment(HSSFCellStyle.ALIGN_LEFT); 66 style.setFont(font); 67 style.setFillForegroundColor(HSSFColor.GREY_40_PERCENT.index); 68 style.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND); 69 return style; 70 } 71 72 /** 73 * 创建单元格内容 74 * @param row 75 * @param id 76 * @param value 77 * @param style 78 */ 79 @SuppressWarnings("deprecation") 80 public static void createCell(HSSFRow row, int id, String value, HSSFCellStyle style) { 81 HSSFCell cell = row.createCell((short) id); 82 cell.setCellType(HSSFCell.CELL_TYPE_STRING); 83 cell.setCellValue(value); 84 if (style != null) { 85 cell.setCellStyle(style); 86 } 87 } 88 89 /** 90 * 创建报表文件 91 * @param workbook 92 * @param dir 93 * @param filename 94 * @throws IOException 95 */ 96 public static void createFile(HSSFWorkbook workbook, String dir, String filename) 97 throws IOException { 98 dir = dir == null ? "" : dir.trim(); 99 if( !"".equals(dir) ){ 100 if( !dir.endsWith(File.separator) ){ 101 dir += File.separator ; 102 } 103 } 104 logger.debug("out put dir: " + dir); 105 File outdir = new File(dir); 106 if (!outdir.exists()) { 107 outdir.mkdirs(); 108 } 109 FileOutputStream fOut = new FileOutputStream(dir + filename); 110 workbook.write(fOut); 111 fOut.flush(); 112 fOut.close(); 113 logger.info(dir + filename + "已经生成!"); 114 } 115 116 /** 117 * 读取Excel中所有的列 118 * @param filename 119 * @return 120 * @throws IOException 121 */ 122 private static List<Cell[]> jxlGetExcelColumns(String filename) throws IOException { 123 InputStream is = null; 124 jxl.Workbook rwb = null; 125 List<Cell[]> list = new ArrayList<Cell[]>(); 126 try { 127 is = new FileInputStream(filename); 128 rwb = Workbook.getWorkbook(is); 129 // Sheet[] sheets = rwb.getSheets(); 130 // int sheetLen = sheets.length; 131 jxl.Sheet rs = rwb.getSheet(0); // 读取第一个工作表的数据 132 133 //getRows() 获取总共多少列...getColumn(n)获取第n列... 134 for(int i=0; i<rs.getColumns(); i++ ){ 135 list.add(rs.getColumn(i)); 136 } 137 } catch (Exception ex) { 138 ex.printStackTrace(); 139 } finally { 140 rwb.close(); 141 is.close(); 142 } 143 return list; 144 } 145 146 /** 147 * 读取Excel中所有的行 148 * @param filename 149 * @return 150 */ 151 private static List<Cell[]> jxlGetExcelRows(String filename) { 152 InputStream is = null; 153 jxl.Workbook rwb = null; 154 List<Cell[]> list = new ArrayList<Cell[]>(); 155 try { 156 is = new FileInputStream(filename); 157 rwb = Workbook.getWorkbook(is); 158 // Sheet[] sheets = rwb.getSheets(); 159 // int sheetLen = sheets.length; 160 jxl.Sheet rs = rwb.getSheet(0); // 默认先读取第一个工作表的数据 161 162 //getRows() 获取总共多少行...getRow(n)获取第n行... 163 for(int i=0; i<rs.getRows(); i++ ){ 164 list.add(rs.getRow(i)); 165 } 166 } catch (Exception ex) { 167 ex.printStackTrace(); 168 } finally { 169 rwb.close(); 170 try { 171 is.close(); 172 } catch (IOException e) { 173 e.printStackTrace(); 174 } 175 } 176 return list; 177 } 178 }
转载于:https://www.cnblogs.com/DreamDrive/p/5762455.html
Java POI操作Excle工具类相关推荐
- 自己封装的poi操作Excel工具类
在上一篇文章<使用poi读写Excel>中分享了一下poi操作Excel的简单示例,这次要分享一下我封装的一个Excel操作的工具类. 该工具类主要完成的功能是:读取Excel.汇总Exc ...
- java中文件操作的工具类
代码: package com.lky.pojo;import java.io.BufferedReader; import java.io.BufferedWriter; import java.i ...
- 操作Excel工具类:ExcelUtils.java
项目中,时常会需要导入导出Excel的需求,因此我专门花时间设计了工具类. 所需依赖 <!-- 处理xls或xlsx格式的Excel表格导入导出的依赖 --><dependency& ...
- java操作svn工具类
依赖包 <dependency><groupId>org.tmatesoft.svnkit</groupId><artifactId>svnkit< ...
- java 操作IP工具类(子网、地址等)
分享一个操作IP工具类,包含:格式校验,二进制IP互相转换,网段转换,获取网段内IP,校验IP冲突等等 package com.algoblu.pts.boss.basic.utils.ipOpera ...
- java poi 操作word遇到的问题
java poi 操作word文本,图表,遇到的问题 直接上问题 模板字段匹配问题 图表问题 图表导出 问题:模板找不到对应图表 问题:数据填充后效果不达目标 图表中为零的数值去掉(!!!模板层面解决 ...
- java Excel导入导出工具类 及使用demo
java Excel导入导出工具类 及使用demo 前言:相信进来的都是想尽快解决问题的,话不多说,按照以下步骤来,可以操作导出excel到本地,导入同理,自行学习.步骤一:直接复制以下excel工具 ...
- java项目常用的工具类
前言 在开发过程中,我们会遇到很多繁琐或者棘手的问题,但是,这些问题往往会存在一些便捷的工具类,来简化我们的开发,下面是我工作中经常使用到的工具类 常用工具类 日期工具类 import java.te ...
- JAVA I/O流工具类TextFile
JAVA I/O流工具类TextFile由广州疯狂软件java培训分享: 本文是一个TextFile类,通过这个类我们可以调用其中的方法来简化对文件的读写,这段代码的可用性比较强.这个TextFile ...
最新文章
- Metadata Service 架构详解 - 每天5分钟玩转 OpenStack(165)
- 模型(Model)– ASP.NET MVC 4 系列
- OCH\OMS\OTS\MSP\RS\SPI解释
- 使用Introspector(Java内省机制)实现Map转换为JavaBean
- mysql workbench 6.2_如何在MySQL Workbench 6.2查询中运行.sql文件?
- [转载] Numpy学习之矩阵、函数、二元运算及数组读写
- 传智2018python15期_2018年传智播客黑马python+人工智能15期
- Java IO基础详解
- 银行卡三要素/三元素检测API,银行卡实名认证接口文档
- 大数据在人力资源管理当中的应用
- [Introduction to programming in Java 笔记] 1.3.8 Gambler's ruin simulation 赌徒破产模拟
- web全栈工程师技能介绍
- 计算机键盘如何打字课件,教您如何熟悉键盘(打字指法)_计算机的基本知识_IT /计算机_信息...
- HTML 基础教程:HTML 编辑器
- python常见函数sort()对列表元素进行排序
- 读《深陷平庸的SaaS如何自救?》有感
- ubuntu1804系统设置在哪里_ubuntu1804安装后设置
- 记录一个srcML和javalang等工具做tokenization不一致的地方
- Android安卓麻将识别源码Demo( 三)
- 微信小程序家庭记账本开发进度七