java - 创建工作表时 Apache POI 出现异常

标签 java apache-poi xls

在我的 xml 中创建新工作表时,POI 包含:

java.lang.RuntimeException: Could not find 'internal references' EXTERNALBOOK
    at org.apache.poi.hssf.model.LinkTable.checkExternSheet(LinkTable.java:436) ~[system-monitor-server.jar:?]
    at org.apache.poi.hssf.model.InternalWorkbook.checkSheets(InternalWorkbook.java:741) ~[system-monitor-server.jar:?]
    at org.apache.poi.hssf.model.InternalWorkbook.setSheetName(InternalWorkbook.java:585) ~[system-monitor-server.jar:?]
    at org.apache.poi.hssf.usermodel.HSSFWorkbook.createSheet(HSSFWorkbook.java:789) ~[system-monitor-server.jar:?]
    at org.apache.poi.hssf.usermodel.HSSFWorkbook.createSheet(HSSFWorkbook.java:73) ~[system-monitor-server.jar:?]

代码:

Workbook workbook = WorkbookFactory.create(ClassLoader.getSystemResourceAsStream(RAW_REPORT_XLS));
Sheet myNewSheet = workbook.createSheet(WorkbookUtil.createSafeSheetName("TestSheet"));

Maven 依赖项:

    <dependency>
        <groupId>org.apache.poi</groupId>
        <artifactId>poi</artifactId>
        <version>3.9</version>
    </dependency>
    <dependency>
        <groupId>org.apache.poi</groupId>
        <artifactId>poi-ooxml</artifactId>
        <version>3.9</version>
    </dependency>

有什么问题吗?

最佳答案

我使用 HSSF 克隆表(poi 版本 3.14)收到此错误消息 该模板是使用 LibreOffice 保存的 xls 文件。 当我打开模板并将其保存在 Excel 2010 中时,我得到了一个更大的文件,这解决了我的问题。

关于java - 创建工作表时 Apache POI 出现异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25133658/

相关文章:

java - 在一个时间段内带有时间戳元素的队列

java - 在 Apache HttpAsyncClient 中配置 SSL

java - Play Framework 2.3.8 Java - 使用特定模式覆盖默认配置加载

java - 使用 Apache poi 读取 .doc 文件中的上标和下标?

java - Apache POI 在自动调整大小时并没有提供足够的空间

java - Apache POI 出现错误,无法读取使用 FileInputStream 传递的文件

Java XLS通过列名获取单元格

java - 您可以使用 session.execute 从 Datastax 驱动程序执行创建表吗?

c# - OpenXml SpreadsheetDocument.Open(...) 出现异常 - 缺少主要部分

c# - c# 代码生成的 .xls 文件无法在 iPad 和 Android 平板电脑中打开