`
chh58chh
  • 浏览: 21114 次
最近访客 更多访客>>
社区版块
存档分类
最新评论

POI生成Excel文档实例

 
阅读更多

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(); } } 
  
  
分享到:
评论

相关推荐

    java poi导出Excel上传实例 可直接使用

    使用apach poi 导出Excel,可直接在项目中使用使用apach poi 导出Excel,可直接在项目中使用使用apach poi 导出Excel,可直接在项目中使用

    利用POI生成EXCEL文件的方法实例

    Apache POI 是用Java编写的免费开源的跨平台的 Java API,Apache POI提供API给Java程式对Microsoft Office格式档案读和写的功能,下面这篇文章主要给大家介绍了关于利用POI生成EXCEL文件的相关资料,需要的朋友可以...

    poi生成excel实例

    很实用的帮助文档,分门别类的解决不少实际问题

    Java通过apache poi生成excel实例代码

    本篇文章主要介绍了Java通过apache poi生成excel实例代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

    操作Excel文件(读取和生成)jxl和poi

    操作Excel文件(读取和生成)jxl和poi 详细实例

    java生成Excel库Apache POI3.15

    JAVA 生成Excel库Apache POI3.15,完整的库,已经测试过了,可以直接使用。 包含使用实例

    PDF-Excel-Word文档生成实例

    pdf文档下载------itext word文档下载----------poi excel文档下载----------poi

    poi-3.0 jar包和简单实例

    一个POI-3.0的JAR包,一个用POI生成Excel文件的典型例子

    Java实现读取及生成Excel文件的方法

    主要介绍了Java实现读取及生成Excel文件的方法,结合实例形式分析了java通过引入第三方jar包poi-3.0.1-FINAL-20070705.jar实现针对Excel文件的读取及生成功能,需要的朋友可以参考下

    导出Excel和生成图表.zip

    使用poi进行导出excel和生成图表。在这里介绍了JfreeChart实例与API文档 、 使用的样例、以及需要使用的jar包

    IText5 Excel转pdf ,带有添加文字水印,图片水印实例poi-3.9,itextpdf-5.5.9

    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读取excel文件,并绘制统计图分析excel内的成绩分布情况

    初学者的JAVA作业,poi方法导入excel文件,分析数据并用jfreechart绘制统计图讨论成绩分布,包括完成的程序包,可以直接运行。

    JSP运用模板导出Excel

    jxls 是一个用来产生 Excel 文件的 library,它非常小巧而且易用,能够用一个 Excel 模板加上数据来渲染产生最终的 Excel 文件,比直接用 POI 这种底层的 API 来写要方便很多,尤其对于那些需要严格控制格式的 Excel...

    tcom-poi:POI工具,当前版本实现按配置进行Excel导入、导出

    Excel文件导入/导出工具 GitHub Project: 依据定义的Excel模板,结合程序生成的数据对象(POJO),实现数据的导出为Excel文件; 反之,将按Excel模板填写的文件,通过程序生成... 工具生成的配置文件实例:tcom-poi\poi-

    解决大批量数据导出Excel产生内存溢出的方案

    POI和JXL提供了二进制方式读写Excel的API,但是由于缺少文档和实例,因此使用的人不多。 在解决这个问题时,需要弄清楚Excel的二进制格式。Excel文件是由一系列的记录组成的,每个记录都有其特定的结构和功能。例如...

    java范例开发大全

    实例134 生成Excel文件 194 实例135 读取Excel文件中的内容 198 实例136 生成PDF文件 199 实例137 读取PDF文件中的内容 203 实例138 用iText生成Word文件 205 实例139 利用POI读取Word文件中的内容 208 7.3 字符流 ...

    Java范例开发大全 (源程序)

     实例134 生成Excel文件 194  实例135 读取Excel文件中的内容 198  实例136 生成PDF文件 199  实例137 读取PDF文件中的内容 203  实例138 用iText生成Word文件 205  实例139 利用POI读取Word文件中的内容...

    java实现csv导出千万级数据实例

    轻松解决普通poi形式导出Excel的中出现的栈溢出问题,此资源可实现千万级数据分批导出csv文件,测试实现16500000条数据大概80秒左右;具体表里内容。

    java范例开发大全(pdf&源码)

    实例134 生成Excel文件 194 实例135 读取Excel文件中的内容 198 实例136 生成PDF文件 199 实例137 读取PDF文件中的内容 203 实例138 用iText生成Word文件 205 实例139 利用POI读取Word文件中的内容 208 7.3 字符流 ...

    java范例开发大全源代码

     实例134 生成Excel文件 194  实例135 读取Excel文件中的内容 198  实例136 生成PDF文件 199  实例137 读取PDF文件中的内容 203  实例138 用iText生成Word文件 205  实例139 利用POI读取Word文件中...

Global site tag (gtag.js) - Google Analytics