10

我正在创建一种从文件中写入和读取工作簿的方法,但是当我第二次调用此方法时。发生错误: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;
}
4

2 回答 2

5

同意Akokskis,写两次会出问题,但是你可以在写完之后尝试重新加载工作簿,然后它就可以完美地工作了。例如

    FileOutputStream fileOut = new FileOutputStream("Workbook.xlsx");
    wb.write(fileOut);
    fileOut.close();
    wb = new XSSFWorkbook(new FileInputStream("Workbook.xlsx"));
于 2013-08-15T21:32:23.897 回答
1

两次写入相同的XSSFWorkbook内容会产生该错误 - 这是一个已知的错误

于 2013-08-15T20:28:52.993 回答