简体   繁体   English

在 OpenXml 中使用 FileStream 而不是 MemoryStream 创建新的 excel 电子表格文档

[英]Create new excel spreadsheet document using FileStream not MemoryStream in OpenXml

I am writing code for creating excel spreadsheet using OpenXml.我正在编写使用 OpenXml 创建 excel 电子表格的代码。 But wanted to use Filestream instead of MemoryStream in SpreadSheet.Create() method.但是想在 SpreadSheet.Create() 方法中使用Filestream而不是 MemoryStream 。

Note: With MemoryStream working correctly but for some reasons I need to get code working with Filestream.注意:在 MemoryStream 正常工作的情况下,但由于某些原因,我需要让代码与 Filestream 一起工作。

Generating corrupted file when writing code like:编写代码时生成损坏的文件,例如:

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

If needed I can post worksheet code.如果需要,我可以发布工作表代码。

Try to use using to ensure that the file stream will be closed.尝试使用using确保文件 stream 将被关闭。

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM