我从jxl切换到poi,因为POI有更多的功能。但是,我无法处理以旧格式生成的xls文件。现在我收到这个错误:
org. apache.poi.hssf.OldExcelFormatException:提供的电子表格似乎是Excel 5.0/7.0(BIFF5)格式。POI仅支持BIFF8格式(来自Excel版本97/2000/XP/2003)
现在我想使用JXL作为POI取决于xls版本,所以对于旧格式的xls文件,我将使用jxl,而对于较新的版本,我将使用POI。这是一个好的解决方案吗?有没有其他选择?
对于旧的Excel格式文件,您有以下替代方案:
POI
实现的Excel'97(-2007)文件格式。
OldExcelExtractor
的方法,在记录级别处理文件,并检查OldStringRecords、NumberRecords、Old公式记录和朋友的坐标。
据我所知,您可以使用此代码读取. xls格式的excel文件
FileInputStream in=new FileInputStream(new File("filename.xls"));
Wookbook wb=new HSSFWorkbook(in);
要阅读新的excel版本(2007年及更高版本):
FileInputStream in=new FileInputStream(new File("filename.xls"));
Wookbook wb=new XSSFWorkbook(in);
您需要的外部jar文件:
1. poi-3.9
2. dom4j-1.6.1
3. XMLbeams-2.5.0
如果您的工作只需要使用. xls,那么只有poi-3.0就足够了。您需要其他罐子来使用新版本的excel。