前些日子把JXL替换为ApachePOI,原因很简单,JXL在2009年10月已经停止更新,并且不支持Excel 2007 OOXML (.xlsx)格式的文件。事实上把JXL与POI进行比较并不公平,因为JXL只能够操作OLE2格式的Excel(即.xls),而POI则是能够读写xls(x)、doc(x)、ppt(x)的一整套解决方案。
不同版本Excel的行列数限制:
+-----------------+-----------+--------------+---------------------+ | | Max. Rows | Max. Columns | Max. Cols by letter | +-----------------+-----------+--------------+---------------------+ | Excel 365* | 1,048,576 | 16,384 | XFD | | Excel 2013 | 1,048,576 | 16,384 | XFD | | Excel 2010 | 1,048,576 | 16,384 | XFD | | Excel 2007 | 1,048,576 | 16,384 | XFD | | Excel 2003 | 65,536 | 256 | IV | | Excel 2002 (XP) | 65,536 | 256 | IV | | Excel 2000 | 65,536 | 256 | IV | | Excel 97 | 65,536 | 256 | IV | | Excel 95 | 16,384 | 256 | IV | | Excel 5 | 16,384 | 256 | IV | +-----------------+-----------+--------------+---------------------+
*Excel 365 unverified.
JXL - JExcelApi
最后更新:Oct 24,2009
<dependency> <groupId>net.sourceforge.jexcelapi</groupId> <artifactId>jxl</artifactId> <version>2.6.12</version> </dependency>
JXL是一个日本人写的简单类库。作者主页。POI和jxl.jar性能比较一贴中提到其性能较poi更高,内存消耗更少。当且仅当目标文档是行数接近但不超过65536的xls格式时成立。
类图:
public static void main(String[] args) { try { // create writable wookbook WritableWorkbook workbook = Workbook.createWorkbook(new File("jxlOutput.xls")); // create writable sheet WritableSheet sheet = workbook.createSheet("First Sheet", 0); for(int i = 0; i < data.length; i++) { for(int j = 0; j < data[i].length; j++){ // create a cell at position (i, j) and add to the sheet Label label = new Label(i, j, data[i][j]); sheet.addCell(label); } } workbook.write(); workbook.close(); } catch (IOException | WriteException e) { e.printStackTrace(); } }
Apache POI
最后更新:Dec 17,2014
类图:
<dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>3.10.1</version> </dependency> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-ooxml</artifactId> <version>3.9</version> </dependency>
Apache POI API的一些重点:
- Apache POI包含 Excel 97(-2007)文件格式(.xls)的Java实现 – HSSF。(彩蛋:H指Horrible)
- Apache POI包含 Excel 2007 OOXML文件格式(.xlsx)的Java实现 – XSSF。
- Apache POI的HSSF和XSSF API提供了读写和修改Excel电子表格的功能。
- Apache POI也提供了SXSSF API(流式XSSF),它是XSSF的扩展,用于写入非常大的excel文件。SXSSF API需求较小的内存,适用于在堆内存受限时处理较大excel文件的情况。
- 可以选择两种模型:Event Model和User Model。Event Model需求较小的内存,流式读取并处理每个单元;User Model更具备面向对象的特征,方便操作。
- Apache POI提供了对excel附加功能的完美支持,如公式、单元格样式、颜色、字体、数据验证、图像和超链接等。
SpreadSheet API 功能摘要:
以下是两个基于XSSF读写xlsx文件的例子:
OpenCSV:
CSV文件以纯文本形式存储表格数据(数字和文本)。OpenCSV是一个用于读写CSV文件的简单Java类库。 Maven Repo
最近更新:Jul 28,2011
<dependency> <groupId>net.sf.opencsv</groupId> <artifactId>opencsv</artifactId> <version>2.3</version> </dependency>
OpenCSV将CSV文件中的每一行读取为一个String数组。相应地,写文件时通过csvWriter.writeNext(array)把String数组内容作为一行写入CSV文件
读写CSV文件的例子:
References:
1. POI-HSSF and POI-XSSF - Java API To Access Microsoft Excel Format Files
2. Java Read/Write Excel File using Apache POI API
Original Link: http://cwind001.github.io/blog/2015/02/27/apachepoi/
相关推荐
apache POI,文件读写 ,excel 对于使用apache poi 解析微软excel的一些文件
poi是一个Java api组件,用于处理execel和doc文件 jxl可以读取,创建,更新Excel文件,使用该api非windows系统也可以通过纯java来处理Excel。
Java 操作Excel poi读写excel,所需要的jar包 https://blog.csdn.net/u014646662/article/details/83217382
JAVA 生成Excel库Apache POI3.15,完整的库,已经测试过了,可以直接使用。 包含使用实例
ExcelDemo_Excel导出_下载_POI读excel_JXL读写excel_java读写excel_列宽_读取合并或拆分单元格内容
poi读写excel,poi总结; poi读写excel,poi总结 poi读写excel,poi总结
java读写Excel,POI.JAR,Word内容读取
使用POI读写Word doc文件 Apache poi的hwpf模块是专门用来对word doc文件进行读写操作的。在hwpf里面我们使用HWPFDocument来表示一个word doc文档
Java实现Excel读写的poi 5.2.1版本jar
支持多种Office格式:Apache POI库支持多种Microsoft Office格式,包括Word、Excel、PowerPoint、Outlook和Visio等。开发人员可以使用Apache POI库来读取、写入和修改这些格式的文档。 提供多种API:Apache POI库...
poi包括三种常用jar包,各自支持的格式在文件名里表示出来了。jxl相对操作容易但是功能简单,poi操作复杂但是功能更强大,具体用哪个看自己吧。另外poi还支持对PPT,WORD等文件的支持。。
implementation 'org.apache.poi:poi:***' Gradle (Kotlin): implementation("org.apache.poi:poi:***") ``` # 含有的 Java package(包)(此处仅列举3个): ``` org.apache.poi org.apache.poi.common org....
POI读写excel文件+poi简单文档; POI读写excel文件+poi简单文档。
含JAVA读取Excel和写Excel的内容。生成程序可以直接运行。类单独写出。 整了2天,加了备注。苦劳求点评。
apache出的元件POI,它可以在UNIX或window平台处理word或Excel档案,可以使用较少的java代码对EXCEL进行新增,修改,读取,删除等操作,并且可以按照自己的需要设定储存格式、列印格式等;
JAVA 解析 Excel 工具 Java 解析、生成 Excel 比较有名的框架有 Apache poi、jxl.zip
java实现excel的导入导出(poi详解),经过测试poi效率要比jxl要高很多,特别是数据量大的时候jxl根本无法用肉眼入目,本资源是个可运行项目demo,很有参考价值!
自己花了几天时间写的基于Apache POI的Java 读取excel文件,功能还是比较齐全
标签:apache、poi、中文文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心使用。
POI与JXL的实战性能对比