私はこのメソッドを2回呼び出すと、ワークブックをファイルから書き込んで読み込む方法を作成しますが、 を作成します。 エラーがoccure:org.apache.xmlbeans.impl.values.XmlValueDisconnectedExceptionorg.apache.xmlbeans.impl.values.XmlValueDisconnectedExceptionワークブックを2回書き込むとき
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;
}
InputStream経由でファイルをロードしないでください。遅くなり、メモリが増えます。 [代わりにファイルを介して直接開く](http://poi.apache.org/spreadsheet/quick-guide.html#FileInputStream)、ドキュメント – Gagravarr
に記載されています。Gagravarr:あなたが正しいです。しかし、私は質問が尋ねられたのと同じ方法で答えを出しました。 @niks:Gagravarrの提案は本当に便利です。それに応じてコードを変更することができたら、それをしてください。上記の問題では、同じファイルと更新されたファイルを再度ブックにロードするだけで済みます。 – Sankumarsingh
こんにちは、私は同じことをしていますが、私のために働いていません – Nikesh