错误:类型不匹配:无法从HSSFWorkbook转换为工作簿

时间:2017-11-07 03:22:12

标签: java excel apache-poi

我使用poi-3.2-FINAL-20081019.jar。错误:

  

类型不匹配:无法从HSSFWorkbook转换为工作簿

try {
            if (strType.equals("xls")) {
                wb = new HSSFWorkbook(inputStream);
            } else {
                wb = new XSSFWorkbook(inputStream);
            }
            Sheet sheet = wb.getSheetAt(0);

如何解决?

2 个答案:

答案 0 :(得分:1)

当你的罐子里的日期显示 - poi-3.2-FINAL-20081019.jar时 - 你就会使用一个差不多10年的罐子!你需要升级到更现代化的东西,至少从这十年来的东西......

目前(2017年11月),最新版本是Apache POI 3.17。您可以在Apache POI homepage上找到最新版本,并查看Changelog

中的所有修补程序

此外,您应该交换使用WorkbookFactory而不是查看文件扩展名来确定要使用的类。这隐藏了所有检测复杂性,适用于错误命名的文件等

您的代码可以变得非常简单

Workbook wb = WorkbookFactory.create(new File("input.xlsx"));
Sheet s = wb.getSheetAt(0);

(如果可以,请使用File,而不是InputStream,以降低内存容量。

答案 1 :(得分:0)