c# - OpenXML - 如何将电子表格文档保存到流中?

标签 c# excel openxml

我正在从流中获取 .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/

相关文章:

c# - 从模板创建 PowerPoint 2007 演示文稿

c# - Web 服务传递以逗号分隔的数据

c# - 无效的 URI : The Uri string is too long

excel - 如何通过Perl脚本编写带有特殊字符的Excel文件?

excel - VBA删除不包含特定值的行的更快或最佳选择?

java - 使用 java.nio.FileSystems 操作 DOCX 文件

javascript - 如何从 CMD 命令行启动 Node.js 应用程序,并从另一个 .Net core 3.0 应用程序调用它?

c# - 如何使用 HttpWebRequest 实现 SSL?

excel - 在VBA中绘制箭头超出范围