簡體   English   中英

是否可以在不調用Close()的情況下保存OpenXML Spreadsheet?

[英]Possible to save OpenXML Spreadsheet without calling Close()?

我正在使用OpenXML編寫電子表格實用程序,並且需要能夠定期(甚至在每次單元更新時) 保存文檔。 保存之后,文檔必須處於有效(可讀)狀態。

我見過的唯一示例使文檔處於損壞狀態,直到

document.Close();

叫做。 即使有定期呼叫

worksheet.Save();

該文檔將被破壞,直到調用Close()為止。

我需要快速地快速保存文檔,因為文檔將長期打開並頻繁寫入,並且如果程序崩潰,則需要能夠訪問在寫入過程中寫入的任何數據。該程序正在運行(顯然我不能依賴於被調用的Close())。

我不一定需要用低級OpenXML來實現,但是我嘗試過的所有包裝器(ClosedXml,NPOI)似乎也有同樣的缺點。

使用以下步驟打開文檔。

using (SpreadsheetDocument document = SpreadsheetDocument.Open(docName, true))
{
}

當您指定true ,流將標記為可編輯,並且可以即時接受編輯。

確保閱讀了這篇文章,這將為您提供一些有關如何愚弄開放XML流的示例。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM