首页 > 解决方案 > 在 OpenXml 中使用 FileStream 而不是 MemoryStream 创建新的 excel 电子表格文档

问题描述

我正在编写使用 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
}

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

标签: c#excelopenxmlspreadsheetfilestream

解决方案


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

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

推荐阅读