【发布时间】:2016-02-15 01:27:36
【问题描述】:
我正在使用 apache POI 使用 Java 读取和写入 Excels 文件,但我无法在源中找到 WorkbookFactory 或 XSSFWorkbook 来读取 xlsx 文件。
pom.xml:
<poi.version>3.13</poi.version>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>${poi.version}</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>${poi.version}</version>
</dependency>
我在 apache poi 的变更日志中也找不到任何可能导致这种行为的信息。
编辑: 这是我的实现(暂时只是一个简单的方法)
public static HSSFSheet getXLSSheet(String fileName, int sheetIndex) throws IOException {
InputStream inputStream = new FileInputStream(fileName);
HSSFWorkbook workbook = new HSSFWorkbook(inputStream);
return workbook.getSheetAt(sheetIndex);
}
我试图打开一个 XLSX 文件,但由于我找不到其他两个类(WorkbookFactory 或 XSSFWorkbook),所以我预计会遇到这样的错误:
org.apache.poi.poifs.filesystem.OfficeXmlFileException: The supplied data appears to be in the Office 2007+ XML. You are calling the part of POI that deals with OLE2 Office Documents. You need to call a different part of POI to process this data (eg XSSF instead of HSSF)
提前致谢。
【问题讨论】:
标签: java excel maven apache-poi