我从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。这是一个好的解决方案吗?还有其他选择吗?
答案 0 :(得分:13)
对于旧的Excel格式文件,您有以下选择:
POI
实现。
OldExcelExtractor
,处理记录中的文件
级别,并检查OldStringRecord,NumberRecord,OldFormulaRecord和朋友的坐标。 HSSF
那样灵活,但对于某些旧格式,它是提取信息的唯一方法。答案 1 :(得分:-4)
据我所知,您可以使用此代码读取.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。