已关闭。此问题为opinion-based。当前不接受答案。
**想要改进此问题吗?**请更新问题,以便editing this post可以使用事实与引用来回答.
七年前就关门了。
Improve this question
两个API中哪一个更容易读取/写入/编辑Excel工作表?这些API不支持CSV扩展吗?
对file.xls和file.xlsx使用JXL时,会出现如下异常:
jxl.read.biff.BiffException: Unable to recognize OLE stream
at jxl.read.biff.CompoundFile.<init>(CompoundFile.java:116)
at jxl.read.biff.File.<init>(File.java:127)
at jxl.Workbook.getWorkbook(Workbook.java:268)
at core.ReadXLSheet.contentReading(ReadXLSheet.java:46)
at core.ReadXLSheet.init(ReadXLSheet.java:22)
at core.ReadXLSheet.main(ReadXLSheet.java:72)
.xls和.xlsx扩展名。我使用的Java版本是:JDK1.6版本
4条答案
按热度按时间vd2z7a6w1#
JXL(现在的"JExcel")和Apache POI我都用过,一开始用的是JXL,现在用的是Apache POI。
首先,两个API具有相同的最终功能:
但是,有许多不同之处:
此外,POI不仅包含主要的"用户模型" API,而且还包含一个基于事件的API(如果您只想读取电子表格内容)。
总之,由于更好的文档、更多的特性、积极的开发和Excel 2007+格式支持,我使用Apache POI。
7d7tgy0s2#
我使用过POI。
如果您使用它,请留意那些单元格格式化程序:创建一个并多次使用它,而不是每次都为单元格创建,这对于大数据来说是一个巨大内存消耗差异。
sg2wtvxw3#
我不熟悉JXL,但我们使用POI。POI维护得很好,可以处理二进制.xls格式和Office 2007中引入的新的基于XML的格式。
CSV文件不是Excel文件,它们是基于文本的文件,所以这些库不能读取它们。你需要自己解析出CSV文件。我不知道任何CSV文件库,但我也没有看过。
wnavrhmk4#
要阅读Java中的“普通”CSV文件,有一个名为OpenCSV的库,可从以下站点获得:http://opencsv.sourceforge.net/