我正在从流中获取 .xlsx 文档(使用 SpreadsheetDocument.Open(stream, false)
然后将其存储到 Spreadsheetdocument 字段中,以便我以后可以维护相同的对象。
我有一个保存方法,理想情况下我应该能够将 SpreadsheetDocument 保存到流中。有 document..WorkbookPart.Workbook.Save(stream);
但这只是给了我一个空文件,当我只保存第一张纸时(使用 document.WorkbookPart.WorksheetParts.First ().Worksheet.Save(stream);
文件乱七八糟,没有包含相关信息。如何将电子表格文档保存到流中?
最佳答案
我知道这有点老了,但我在遇到同样的问题时偶然发现了这个问题,所以我想我会用我找到的解决方案更新它。
我的问题原来是我需要将流位置设置回零。
stream.Position = 0;
根据我的实验,保存电子表格后流的位置是流的末尾。当我将我的流输出到网络浏览器时,它从当前位置开始流并运行到结束而不是从头开始。我假设这与框架中的其他 API 是一致的。
关于c# - OpenXML - 如何将电子表格文档保存到流中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29758161/