在 OpenXml

问题描述

我正在编写使用 OpenXml 创建 excel 电子表格的代码。但是想在 SpreadSheet.Create() 方法中使用 Filestream 而不是 MemoryStream。

注意:MemoryStream 可以正常工作,但由于某些原因,我需要让代码与 Filestream 一起工作。

编写代码生成损坏的文件,例如:

FileStream fs = new FileStream(filepath,FileMode.OpenorCreate);
using (SpreadsheetDocument document = 
SpreadsheetDocument.Create(fs,SpreadsheetDocumentType.Workbook))
{
 //worksheet code
}

如果需要,我可以发布工作表代码

解决方法

尝试使用 using 来确保文件流将被关闭。

using (FileStream fs = new FileStream(filepath,FileMode.OpenOrCreate))
{
    using (SpreadsheetDocument document = 
SpreadsheetDocument.Create(fs,SpreadsheetDocumentType.Workbook))
    {
    //worksheet code
    }
}