我正在阅读从外部 Excel 文件流创建 OpenXml SpreadsheetDocument,并添加一些公式和值。
但是,当我尝试将其保存到流中时,它会丢失大部分数据并且无法打开。
这是我使用的代码:
var stream= new MemoryStream();
.
.
.
spreadsheetDocument.WorkbookPart.Workbook.Save(stream);
stream = new MemoryStream(stream.ToArray());
stream.Position = 0;
return stream;
两个
MemoryStream
真的有必要吗?
在从中派生新的
tempStream
之前尝试刷新 MemoryStream
。
示例:
spreadsheetDocument.WorkbookPart.Workbook.Save(tempStream);
tempStream.Flush();
stream = new MemoryStream(tempStream.ToArray());
此外,您是将输出保存到文件还是从内存中读取?一旦您
MemoryStream
,.Close()
的内容从逻辑上讲就会丢失。