java - 两次写入工作簿时出现 org.apache.xmlbeans.impl.values.XmlValueDisconnectedException

标签 java apache-poi

<分区>

我正在创建一种从文件中写入和读取工作簿的方法,但是 当我第二次调用这个方法时。 发生错误:org.apache.xmlbeans.impl.values.XmlValueDisconnectedException

public XSSFWorkbook GetUpdatedResult(XSSFWorkbook vmworkbookhelper) throws Exception
{
     this.vmWorkbookHelper2  = vmworkbookhelper;
    String tempName = UUID.randomUUID().toString()+".xlsx";
    File tempFile = new File(tempName);
    fileOut = new FileOutputStream(tempFile);
    this.vmWorkbookHelper2.write(fileOut);
    fileOut.close();
    vmworkbookhelper = new XSSFWorkbook(tempFile);
    if(tempFile.exists())
        tempFile.delete();
    return vmworkbookhelper;
}

最佳答案

同意 Akokskis 的观点,写两次导致问题,但您可以尝试在写完后重新加载工作簿,然后它将完美运行。例如

    FileOutputStream fileOut = new FileOutputStream("Workbook.xlsx");
    wb.write(fileOut);
    fileOut.close();
    wb = new XSSFWorkbook(new FileInputStream("Workbook.xlsx"));

关于java - 两次写入工作簿时出现 org.apache.xmlbeans.impl.values.XmlValueDisconnectedException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18261152/

相关文章:

java - 在纯 HTML 文本周围包装标签

java - 使用 getter 还是直接访问私有(private)成员更好?

java - OnClick 用 fragment 替换 RecyclerView 中的 View

java - 使用 Apache POI 的基本 Excel 货币格式

java - 如何使用 Java HSSF 附加到现有的 excel 文件

java - 如何知道连接到系统的输入设备有哪些

java - 如何使用参数化数据的多个来源

java - 构造函数 XMLSlideShow(FileInputStream) 未定义

java - 有没有办法使用 Apache POI 修改 Microsoft Word 页脚?

java - Apache POI Java - 写入 Excel 并动态更新单元格