5

我需要帮助使用 apache XSSF 读取 xls 文件。

XSSF 的实现对于“xlsx”运行良好。不适用于“xls”文件。

这是代码:

    XSSFWorkbook workBook = new XSSFWorkbook("fileName");
    XSSFSheet sheet = workBook.getSheetAt(0);
    XSSFRow row = sheet.getRow(0);

任何解决方法表示赞赏。

4

2 回答 2

13

与其直接使用 XSSF 类,不如使用 HSSF (.xls) 和 XSSF (.xlsx) 之间通用的接口。您问题中的代码片段将变为:

 Workbook wb = WorkbookFactory.create(file); // Or InputStream
 Sheet sheet = workBook.getSheetAt(0);
 Row row = sheet.getRow(0);
 Cell cell = row.getCell(0);
 System.out.println("Cell A1 is of type " + cell.getCellType());

有关更多信息和示例,请参阅Apache POI 快速指南

于 2012-04-19T08:42:55.373 回答
-1

尝试这个...

FileInputStream is = new FileInputStream(filePath))
XSSFWorkbook workbook = new XSSFWorkbook(is);
is.close();

下面的这个链接似乎可以解决这个问题......祝你好运。

http://apache-poi.1045710.n5.nabble.com/InvalidOperationException-Can-t-open-specified-file-td5524067.html

于 2012-04-18T16:09:45.490 回答