Ich erstelle eine Methode zum Schreiben und Lesen von Arbeitsmappen aus Datei, aber , wenn ich diese Methode das zweite Mal aufrufen. Fehler occure: org.apache.xmlbeans.impl.values.XmlValueDisconnectedExceptionorg.apache.xmlbeans.impl.values.XmlValueDisconnectedException beim zweimaligen Schreiben der Arbeitsmappe
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;
}
Laden Sie keine Datei über einen InputStream, es ist langsamer und benötigt mehr Speicher! [Öffnen Sie stattdessen direkt über die Datei] (http://poi.apache.org/spreadsheet/quick-guide.html#FileInputStream), wie in der Dokumentation beschrieben – Gagravarr
Gagravarr: Sie haben Recht. Aber ich habe auf die gleiche Weise Antwort gegeben wie die Frage. @niks: Der Vorschlag von Gagravarr ist wirklich nützlich. Wenn Sie Ihren Code entsprechend ändern können, tun Sie das bitte. Für das obige Problem müssen Sie nur Arbeitsmappe erneut mit der gleichen und aktualisierten Datei laden. – Sankumarsingh
Hallo, ich mache das gleiche, aber es funktioniert nicht für mich – Nikesh