首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何使用POI处理旧的excel .xls文件?

如何使用POI处理旧的excel .xls文件?
EN

Stack Overflow用户
提问于 2013-03-11 18:37:50
回答 2查看 14.8K关注 0票数 25

我从jxl切换到poi,因为POI有更多的功能。但是,我无法处理以旧格式生成的xls文件。现在我得到了这个错误:

org.apache.poi.hssf.OldExcelFormatException:提供的电子表格似乎是Excel5.0/7.0 (BIFF5)格式。POI仅支持BIFF8格式(从Excel97/2000/XP/2003版开始)

现在,我正在考虑根据xls版本使用JXL和POI,所以对于旧格式的xls文件,我将使用jxl,而对于较新的版本,我将使用POI。这是一个好的解决方案吗?还有别的选择吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-12-15 03:59:37

对于旧的Excel格式文件,您可以选择以下方法:

  1. HSSF,Excel '97(-2007)文件格式的POI实现。

  • 如果您只想提取文本内容,则可以使用OldExcelExtractor,它将只从文件中提取文本和数字。

  • 如果您需要来自特定单元格的值,则需要采取类似于OldExcelExtractor的方法,在记录级处理文件,并检查OldStringRecordNumberRecord、<代码>C12和朋友上的坐标。

  1. 就像你已经提到的,JXL也可以处理一些情况,
  2. 使用JDBC/ODBC驱动。它不像HSSF那样灵活,但对于某些旧格式,它是提取information.

的唯一方法

票数 15
EN

Stack Overflow用户

发布于 2014-03-04 12:05:28

据我所知,您可以使用此代码读取.xls格式的excel文件

代码语言:javascript
复制
FileInputStream in=new FileInputStream(new File("filename.xls"));
Wookbook wb=new HSSFWorkbook(in);

要阅读新的excel版本(2007及更高版本):

代码语言:javascript
复制
 FileInputStream in=new FileInputStream(new File("filename.xls"));
    Wookbook wb=new XSSFWorkbook(in);

您将需要的外部jar文件:

代码语言:javascript
复制
 1. poi-3.9 
 2. dom4j-1.6.1
 3. XMLbeams-2.5.0

如果您工作只需要使用.xls,那么只需使用poi-3.0即可。您需要其他jars才能与新版本的excel一起工作。

票数 -5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15336457

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档