创建工作表时,Apache POI会出现异常

时间:2014-08-05 07:48:30

标签: 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>

它有什么不对吗?

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:-1)

您的模板有一些错误。它可能是一些外部引用,例如另一个工作簿中的单元格。