当前位置: 首页 > 面试题库 >

使用apache poi 3.7多次写入xlsx文档时发生异常

长孙修远
2023-03-14
问题内容

尝试.xlsx使用Apache POI
写入文件时出现以下异常:org.apache.xmlbeans.impl.values.XmlValueDisconnectedException

看来问题是第二次使用方法write()。使用HSSFWorkbook时,不会出现此问题。

这是代码:

public class SomeClass{

XSSFWorkbook workbook;

public SomeClass() throws IOException{
    File excelFile = new File("workbook.xlsx");

    InputStream inp = new FileInputStream(excelFile);
    workbook = new XSSFWorkbook(inp);
    inp.close();
}

void method(int i) throws InvalidFormatException, IOException {

    XSSFSheet sheet = workbook.getSheetAt(0);
    XSSFRow row = sheet.getRow(i);
    if (row == null) {
        row = sheet.createRow(i);
    }
    XSSFCell cell = row.getCell(i);
    if (cell == null)
        cell = row.createCell(i);
    cell.setCellType(Cell.CELL_TYPE_STRING);
    cell.setCellValue("a test");

    // Write the output to a file
    FileOutputStream fileOut = new FileOutputStream("workbook.xlsx");
    workbook.write(fileOut);
    fileOut.close();

}

public static void main(String[] args) throws Exception {
    SomeClass sc = new SomeClass();

    sc.method(1);
    sc.method(2);
}
}

问题答案:

这很可能是一个错误。

https://issues.apache.org/bugzilla/show_bug.cgi?id=49940

我建议您订阅该票以获取有关当前改进/替代方法的通知。

如果找到解决方法,我会通知您。



 类似资料:
  • 我一直在开发一个android应用程序,在这个应用程序中,我必须打开.xls和.xlsx文件以便进一步实现。在.xls的情况下,一切工作正常,但当我尝试打开.xls x文件时,它给了我异常。下面是我的代码,请帮助我解决这些异常 我正在使用的JAR: null

  • 根据要求,我的应用程序首先需要读取一个大约75k-100k行和90列的Excel文件。但在XSSFWorkbook加载pkg/file时,我在第2行遇到了以下异常 线程“main”Java.lang.OutOfMemoryError中出现异常:com.sun.org.apache.xerces.internal.dom.DeferredDocumentMPL.CreateChunk中的Java堆空

  • 我的excel文件中有3张工作表。我正在尝试使用TestNG的@DataProvider注释获取数据。在getTestData()方法中,我传递工作表的名称。通过FileInputStream,读取文件的路径。即使我正在打印文件路径,它也会正确显示。生成路径打印为-C:\Users\Gaurav Pratap Singh\eclipse workspace\SampleTestFrameworkG

  • 任何Avro格式的文件写入尝试都会失败,堆栈跟踪如下。 我们正在使用Spark 2.4.3(使用用户提供的Hadoop)、Scala 2.12,并且我们在运行时使用任一Spark-shell加载Avro包: org.apache.sparkavro_2 或spark提交: 提交org.apache.sparkavro_2 spark会话报告已成功加载Avro包。 ... 在任何一种情况下,当我们尝

  • 问题内容: 有写Excel 2007+文件的Python模块吗? 我对编写长度超过65535行的文件感兴趣,只有Excel 2007+支持它。 问题答案: 您可以查看两个库。 Python-xlsx和 PyXLSX 编辑:正如评论所提到的,编写时请检查openpyxl

  • 我有一个存储在变量中的数据,然后我想把我的数据写到excel文件中。xlsx)。(即)我使用自动化测试工具,如硒从网页上获取数据,我把它存储在变量,我想写在xlsx文件 在大量的谷歌搜索后,我发现许多用户使用列表或对象来写入。xlsx文件。 我创建了一个列表并将我的变量添加到该列表中,并使用循环语句(for循环)通过打印来检查我的数据是否存储在列表中。 然后我创建了XSSFWorkbook和XSS