POI生成Excel文档实例
2011年09月01日
import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.util.Calendar; import org.apache.poi.hssf.usermodel.HSSFCell; import org.apache.poi.hssf.usermodel.HSSFCellStyle; import org.apache.poi.hssf.usermodel.HSSFDataFormat; import org.apache.poi.hssf.usermodel.HSSFRow; import org.apache.poi.hssf.usermodel.HSSFSheet; import org.apache.poi.hssf.usermodel.HSSFWorkbook; public class ReadXlsTest { // 设置cell编码解决中文高位字节截断 private static short XLS_ENCODING = HSSFWorkbook.ENCODING_UTF_16; // 定制日期格式 private static String DATE_FORMAT = " m/d/yy "; // "m/d/yy h:mm" // 定制浮点数格式 private static String NUMBER_FORMAT = " #,##0.00 "; private String xlsFileName; private HSSFWorkbook workbook; private HSSFSheet sheet; private HSSFRow row; /** * 初始化Excel * * @param fileName * 导出文件名 */ public ReadXlsTest(String fileName) { this.xlsFileName = fileName; this.workbook = new HSSFWorkbook(); this.sheet = workbook.createSheet(); } /** * 导出Excel文件 * * @throws XLSException */ public void exportXLS() throws Exception { try { FileOutputStream fOut = new FileOutputStream(xlsFileName); workbook.write(fOut); fOut.flush(); fOut.close(); } catch (FileNotFoundException e) { throw new Exception(" 生成导出Excel文件出错! ", e); } catch (IOException e) { throw new Exception(" 写入Excel文件出错! ", e); } } /** * 增加一行 * * @param index * 行号 */ public void createRow(int index) { this.row = this.sheet.createRow(index); } /** * 设置单元格 * * @param index * 列号 * @param value * 单元格填充值 */ public void setCell(int index, String value) { HSSFCell cell = this.row.createCell((short) index); cell.setCellType(HSSFCell.CELL_TYPE_STRING); cell.setEncoding(XLS_ENCODING); cell.setCellValue(value); } /** * 设置单元格 * * @param index * 列号 * @param value * 单元格填充值 */ public void setCell(int index, Calendar value) { HSSFCell cell = this.row.createCell((short) index); cell.setEncoding(XLS_ENCODING); cell.setCellValue(value.getTime()); HSSFCellStyle cellStyle = workbook.createCellStyle(); // 建立新的cell样式 cellStyle.setDataFormat(HSSFDataFormat.getBuiltinF ormat(DATE_FORMAT)); // 设置cell样式为定制的日期格式 cell.setCellStyle(cellStyle); // 设置该cell日期的显示格式 } /** * 设置单元格 * * @param index * 列号 * @param value * 单元格填充值 */ public void setCell(int index, int value) { HSSFCell cell = this.row.createCell((short) index); cell.setCellType(HSSFCell.CELL_TYPE_NUMERIC); cell.setCellValue(value); } /** * 设置单元格 * * @param index * 列号 * @param value * 单元格填充值 */ public void setCell(int index, double value) { HSSFCell cell = this.row.createCell((short) index); cell.setCellType(HSSFCell.CELL_TYPE_NUMERIC); cell.setCellValue(value); HSSFCellStyle cellStyle = workbook.createCellStyle(); // 建立新的cell样式 HSSFDataFormat format = workbook.createDataFormat(); cellStyle.setDataFormat(format.getFormat(NUMBER_FO RMAT)); // 设置cell样式为定制的浮点数格式 cell.setCellStyle(cellStyle); // 设置该cell浮点数的显示格式 } public static void main(String[] args) { System.out.println( " 开始导出Excel文件 " ); ReadXlsTest e = new ReadXlsTest("C://test.xls"); e.createRow( 0 ); e.setCell( 0 , " 编号 " ); e.setCell( 1 , " 名称 " ); e.setCell( 2 , " 日期 " ); e.setCell( 3 , " 金额 " ); e.createRow( 1 ); e.setCell( 0 , 1 ); e.setCell( 1 , " 工商银行 " ); e.setCell( 2 , Calendar.getInstance()); e.setCell( 3 , 111123.99 ); e.createRow( 2 ); e.setCell( 0 , 2 ); e.setCell( 1 , " 招商银行 " ); e.setCell( 2 , Calendar.getInstance()); e.setCell( 3 , 222456.88 ); try { e.exportXLS(); System.out.println( " 导出Excel文件[成功] " ); } catch (Exception e1) { System.out.println( " 导出Excel文件[失败] " ); e1.printStackTrace(); } } } Excel文档的模板可以从文件系统中引入,再将数据插入即可: HSSFWorkbook wb = null; InputStream is = null; try { is = getClass().getResourceAsStream("/com/util/abc.xls" ); POIFSFileSystem fs = new POIFSFileSystem(is); wb = new HSSFWorkbook(fs); }catch(Exception e){ e.printStackTrace(); }finally{ try{ if(null!=is) is.close(); }catch(Exception e){ e.printStackTrace(); } }
发表评论
-
我的C++启示录
2012-01-20 08:12 703我的C++启示录 2010年09 ... -
《编程基础增加篇 对象的四大引用 SoftReference》
2012-01-20 08:12 901《编程基础增加篇 对象的四大引用 SoftReference》 ... -
十道海量数据处理面试题和十个应对方法
2012-01-20 08:12 686十道海量数据处理面试 ... -
Java培训笔记二十一()
2012-01-20 08:12 813Java培训笔记二十一() 2010年12月13日 特殊 ... -
深入理解asp.net SessionState
2012-01-20 08:12 847深入理解asp.net SessionState 2010年 ... -
对比删除文件的VBS脚本
2012-01-19 13:28 715对比删除文件的VBS脚本 2011年04月02日 一段对 ... -
VBS脚本得到CPU使用率,硬盘使用率和内存使用率
2012-01-19 13:28 1025VBS脚本得到CPU使用率,硬盘使用率和内存使用率 2011 ... -
VBS脚本
2012-01-19 13:28 801VBS脚本 2011年06月30日 我用VBS写的往EX ... -
xp、2003开3389+非net创建管理用户+Shift后门+自删除脚本+提权VBS 整理收集
2012-01-19 13:28 834xp、2003开3389+非net创建管理用户+Shift后门 ... -
Trojan.DL.VBS.Agent.r 脚本病毒 ASP解密
2012-01-19 13:28 844Trojan.DL.VBS.Agent.r 脚本病毒 ASP解 ... -
存储术语大全
2012-01-17 03:17 600存储术语大全 2011年09 ... -
HP ProLiant 服务器 - POST 错误消息和蜂鸣代码(8)1700 系列错误消息
2012-01-17 03:17 4566HP ProLiant 服务器 - POST 错误消息和蜂鸣代 ... -
SP系统手机常用问题解答【c730】
2012-01-17 03:17 739SP系统手机常用问题解答【c730】 2010年07月13日 ... -
Android智能手机刷机教程
2012-01-17 03:17 895Android智能手机刷机教程 2011年03月07日 ... -
快乐大东北(四)
2012-01-16 01:51 1174快乐大东北(四) 2009年09月09日 快乐大东北(四 ... -
谁会告诉我未来的你在哪里
2012-01-16 01:51 636谁会告诉我未来的你在 ... -
论一论我遇到过的数学老师们
2012-01-16 01:51 567论一论我遇到过的数学 ... -
东北话测试
2012-01-16 01:51 656东北话测试 2009年07月07日 这是一个相当有闹的问 ... -
Stellent UCM installation in Linux 5.3
2012-01-11 01:46 758Stellent UCM installation in Li ... -
Berkeley DB实例
2012-01-11 01:45 654Berkeley DB实例 2011年09月01日 p ...
相关推荐
使用apach poi 导出Excel,可直接在项目中使用使用apach poi 导出Excel,可直接在项目中使用使用apach poi 导出Excel,可直接在项目中使用
Apache POI 是用Java编写的免费开源的跨平台的 Java API,Apache POI提供API给Java程式对Microsoft Office格式档案读和写的功能,下面这篇文章主要给大家介绍了关于利用POI生成EXCEL文件的相关资料,需要的朋友可以...
很实用的帮助文档,分门别类的解决不少实际问题
本篇文章主要介绍了Java通过apache poi生成excel实例代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
操作Excel文件(读取和生成)jxl和poi 详细实例
JAVA 生成Excel库Apache POI3.15,完整的库,已经测试过了,可以直接使用。 包含使用实例
pdf文档下载------itext word文档下载----------poi excel文档下载----------poi
一个POI-3.0的JAR包,一个用POI生成Excel文件的典型例子
主要介绍了Java实现读取及生成Excel文件的方法,结合实例形式分析了java通过引入第三方jar包poi-3.0.1-FINAL-20070705.jar实现针对Excel文件的读取及生成功能,需要的朋友可以参考下
使用poi进行导出excel和生成图表。在这里介绍了JfreeChart实例与API文档 、 使用的样例、以及需要使用的jar包
IText5 Excel转pdf ,带有添加文字水印,图片水印实例。 * jar版本:poi-3.9-20121203.jar, poi-ooxml-3.9-20121203.jar, * poi-ooxml-schemas-3.9-20121203.jar, itextpdf-5.5.9.jar, itext-asian-5.2.0.jar ...
初学者的JAVA作业,poi方法导入excel文件,分析数据并用jfreechart绘制统计图讨论成绩分布,包括完成的程序包,可以直接运行。
jxls 是一个用来产生 Excel 文件的 library,它非常小巧而且易用,能够用一个 Excel 模板加上数据来渲染产生最终的 Excel 文件,比直接用 POI 这种底层的 API 来写要方便很多,尤其对于那些需要严格控制格式的 Excel...
Excel文件导入/导出工具 GitHub Project: 依据定义的Excel模板,结合程序生成的数据对象(POJO),实现数据的导出为Excel文件; 反之,将按Excel模板填写的文件,通过程序生成... 工具生成的配置文件实例:tcom-poi\poi-
POI和JXL提供了二进制方式读写Excel的API,但是由于缺少文档和实例,因此使用的人不多。 在解决这个问题时,需要弄清楚Excel的二进制格式。Excel文件是由一系列的记录组成的,每个记录都有其特定的结构和功能。例如...
实例134 生成Excel文件 194 实例135 读取Excel文件中的内容 198 实例136 生成PDF文件 199 实例137 读取PDF文件中的内容 203 实例138 用iText生成Word文件 205 实例139 利用POI读取Word文件中的内容 208 7.3 字符流 ...
实例134 生成Excel文件 194 实例135 读取Excel文件中的内容 198 实例136 生成PDF文件 199 实例137 读取PDF文件中的内容 203 实例138 用iText生成Word文件 205 实例139 利用POI读取Word文件中的内容...
轻松解决普通poi形式导出Excel的中出现的栈溢出问题,此资源可实现千万级数据分批导出csv文件,测试实现16500000条数据大概80秒左右;具体表里内容。
实例134 生成Excel文件 194 实例135 读取Excel文件中的内容 198 实例136 生成PDF文件 199 实例137 读取PDF文件中的内容 203 实例138 用iText生成Word文件 205 实例139 利用POI读取Word文件中的内容 208 7.3 字符流 ...
实例134 生成Excel文件 194 实例135 读取Excel文件中的内容 198 实例136 生成PDF文件 199 实例137 读取PDF文件中的内容 203 实例138 用iText生成Word文件 205 实例139 利用POI读取Word文件中...