gpt4 book ai didi

c# - 如何返回流而不是写入磁盘?

转载 作者:太空狗 更新时间:2023-10-29 23:40:06 25 4
gpt4 key购买 nike

我正在使用 OpenXML SDK。

OpenXML SDK 创建了一个名为 CreatePackage 的方法:

public void CreatePackage(string filePath)
{
using (SpreadsheetDocument package = SpreadsheetDocument.Create(filePath, SpreadsheetDocumentType.Workbook))
{
CreateParts(package);
}
}

我从我的程序中调用它,如下所示,它将创建 Excel 文件到给定路径:

gc.CreatePackage(excelFilePath);
Process.Start(_excelFilePath);

我不确定如何调整代码,使其返回显示 Excel 文件的流,而不是让它在磁盘上创建文件。

最佳答案

根据documentation for SpreadsheetDocument.Create有多个重载,其中一个需要一个 Stream

因此将您的代码更改为:

public void CreatePackage(Stream stream)
{
using (SpreadsheetDocument package = SpreadsheetDocument.Create(stream, SpreadsheetDocumentType.Workbook))
{
CreateParts(package);
}
}

然后用任何有效的Stream调用它,例如:

using(var memoryStream = new MemoryStream())
{
CreatePackage(memoryStream);
// do something with memoryStream
}

关于c# - 如何返回流而不是写入磁盘?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13956353/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com