POI操作Excel

上传人:鲁** 文档编号:504673728 上传时间:2022-11-15 格式:DOC 页数:24 大小:223.73KB
返回 下载 相关 举报
POI操作Excel_第1页
第1页 / 共24页
POI操作Excel_第2页
第2页 / 共24页
POI操作Excel_第3页
第3页 / 共24页
POI操作Excel_第4页
第4页 / 共24页
POI操作Excel_第5页
第5页 / 共24页
点击查看更多>>
资源描述

《POI操作Excel》由会员分享,可在线阅读,更多相关《POI操作Excel(24页珍藏版)》请在金锄头文库上搜索。

1、888期货入门网整理:http:/POI操作Excel-(转载)java当初把核心处理设成Unicode,带来的好处是另代码适应了多语言环境。然而由于老外的英语只有26个字母,有些情况下,一些程序员用8 位的byte处理,一不小心就去掉了CJK的高位。或者是由于习惯在程序中采用硬编码,还有多种原因,使得许多java应用在CJK的处理上很烦恼。期货开户流程还好 在POI HSSF中考虑到这个问题,可以设置encoding为双字节。POI可以到www.apache.org下载到。编译好的jar主要有这样4个:poi包,poi Browser包,poi hdf包,poi hssf例程包。实际运行时,

2、需要有poi包就可以了。如果用Jakarta ant编译和运行,下载apache Jakarta POI的release中的src包,它里面已经为你生成好了build文件了。只要运行ant就可以了(ant 的安装和使用在此不说了)。如果是用Jbuilder 运行,请在新建的项目中加入poi包。以Jbuilder6为例,选择Tools菜单项的config libraries.选项,新建一个lib。在弹出的菜单中选择poi包,如这个jakarta-poi-1.5.1-final- 20020820.jar,把poi添加到jbuilder中。然后,右键点击你的项目,在project的properti

3、es菜单中path的 required Libraries中,点add,添加刚才加入到jbuilder中的poi到你现在的项目中。如果你仅仅是为了熟悉POI hssf的使用,可以直接看POI的samples包中的源代码,并且运行它。hssf的各种对象都有例程的介绍。hssf提供的例程在 org.apache.poi.hssf.usermodel.examples包中,共有14个,生成的目标xls都是workbook.xls。如果 你想看更多的例程,可以参考hssf的Junit test cases,在poi的包的源代码中有。hssf都有测试代码。这里只对部分例程的实现做介绍。 HSSF提供给用

4、户使用的对象在org.apache.poi.hssf.usermodel包中,主要部分包括Excell对象,样式和格式,期货如何开户还有辅助操作。有以下几种对象:HSSFWorkbook excell的文档对象 HSSFSheet excell的表单 HSSFRow excell的行 HSSFCell excell的格子单元 HSSFFont excell字体 HSSFName 名称 HSSFDataFormat 日期格式 在poi1.7中才有以下2项: HSSFHeader sheet头 HSSFFooter sheet尾 和这个样式 HSSFCellStyle cell样式 辅助操作包括

5、HSSFDateUtil 日期 HSSFPrintSetup 打印 HSSFErrorConstants 错误信息表 仔细看org.apache.poi.hssf包的结构,不难发现HSSF的内部实现遵循的是MVC模型。 这里我用Rose把org.apache.poi.hssf.usermodel包中的对象反向导入并根据相互关系作了整理,详见下面两图: 图1 基本对象 从中不难可以发现每一个基本对象都关联了一个Record对象。Record对象是一个参考Office格式的相关记录。 图2 HSSFWorkbook HSSFWorkbook即是一个Excell对象。这幅类图体现的是HSSFWork

6、book和基本对象的相互关系。可见,期货入门许多对象中也建立了 Workbook的引用。还需要注意的是在HSSFWorkbook和HSSFSheet中建立了log机制POILogger,而且POILogger 也是使用apache Log4J实现的。先看poi的examples包中提供的最简单的例子,建立一个空xls文件。 java view plaincopyprint?1. Java代码2. importorg.apache.poi.hssf.usermodel.HSSFWorkbook;3. 4. importjava.io.FileOutputStream;5. 6. importja

7、va.io.IOException;7. 8. publicclassNewWorkbook9. 10. 11. 12. publicstaticvoidmain(Stringargs)13. 14. throwsIOException15. 16. 17. 18. HSSFWorkbookwb=newHSSFWorkbook();/建立新HSSFWorkbook对象 19. 20. FileOutputStreamfileOut=newFileOutputStream(workbook.xls);21. 22. wb.write(fileOut);/把Workbook对象输出到文件workb

8、ook.xls中 23. 24. fileOut.close();25. 26. 27. 28. 29. 30. 通过这个例子,商品期货开户我们建立的是一个空白的xls文件(不是空文件)。在此基础上,我们可以进一步看其它的例子。31. 32. importorg.apache.poi.hssf.usermodel.*;33. 34. importjava.io.FileOutputStream;35. 36. importjava.io.IOException;37. 38. publicclassCreateCells39. 40. 41. 42. publicstaticvoidmain(

9、Stringargs)43. 44. throwsIOException45. 46. 47. 48. HSSFWorkbookwb=newHSSFWorkbook();/建立新HSSFWorkbook对象 49. 50. HSSFSheetsheet=wb.createSheet(newsheet);/建立新的sheet对象 51. 52. /Createarowandputsomecellsinit.Rowsare0based. 53. 54. HSSFRowrow=sheet.createRow(short)0);/建立新行 55. 56. /Createacellandputavalu

10、einit. 57. 58. HSSFCellcell=row.createCell(short)0);/建立新cell 59. 60. cell.setCellValue(1);/设置cell的整数类型的值 61. 62. /Ordoitononeline. 63. 64. row.createCell(short)1).setCellValue(1.2);/设置cell浮点类型的值 65. 66. row.createCell(short)2).setCellValue(test);/设置cell字符类型的值 67. 68. row.createCell(short)3).setCellV

11、alue(true);/设置cell布尔类型的值 69. 70. HSSFCellStylecellStyle=wb.createCellStyle();/建立新的cell样式 71. 72. cellStyle.setDataFormat(HSSFDataFormat.getFormat(m/d/yyh:mm);/设置cell样式为定制的日期格式 73. 74. HSSFCelldCell=row.createCell(short)4);75. 76. dCell.setCellValue(newDate();/设置cell为日期类型的值 77. 78. dCell.setCellStyle

12、(cellStyle);/设置该cell日期的显示格式 79. 80. HSSFCellcsCell=row.createCell(short)5);81. 82. csCell.setEncoding(HSSFCell.ENCODING_UTF_16);/设置cell编码解决中文高位字节截断 83. 84. csCell.setCellValue(中文测试_ChineseWordsTest);/设置中西文结合字符串 85. 86. row.createCell(short)6).setCellType(HSSFCell.CELL_TYPE_ERROR);/建立错误cell 87. 88. /

13、Writetheoutputtoafile 89. 90. FileOutputStreamfileOut=newFileOutputStream(workbook.xls);91. 92. wb.write(fileOut);93. 94. fileOut.close();95. 96. 97. 98. 99. 100. 我稍微修改了原来的examples包中的CreateCells类写了上面的功能测试类。通过这个例子,我们可以清楚的看到xls文件从大到小包括了HSSFWorkbookHSSFSheetHSSFRowHSSFCell这样几个对象。我们可以在cell中设置各种类型的值。尤其要注意的是如果你想正确的显示非欧美的字符时,尤其象中日韩这样的语言,必须股指期货开户设置编码为16位的即是HSSFCell.ENCODING_UTF_16,才能保证字符的高8位不被截断而引起编码失真形成乱码。101. 102. 其他测试可以通过参考exa

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 其它学术论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号