带OpenXML和流的EPPlus

我正在尝试自动化Powerpoint演示文稿。 我使用OpenXML来导航PowerPoint演示文稿,直到我找到Excel链接到图表。 现在我想使用EPPlus将数据表加载到其中一个工作表中(因为EPPlus具有简单的LoadFromDataTable函数,而我认为我必须编写大量的代码才能使用OpenXML)。 所以我的问题是这样的。

我在内存中有一个PresentationDocument。 我已经导航到特定的图表,我想通过doc.PresentationPart.SlideParts.ElementAt(0).ChartParts.ElementAt(0)

我使用var stream = chartpart.EmbeddedPackagePart.GetStream()获取Excel部分。 然后我试了一下

使用(var pck = new ExcelPackage(stream)){ do stuff; pck.Save(); }

然后在最后我做一个doc.PresentationPart.Presentation.Save

但这并没有改变演示文稿。 我可以使用OpenXML改变它 - 使用(var xl = Spreadsheet.Document.Open(stream,true)){ do stuff; xl.Close(); }

其他一切都一样。 所以我猜想xl.Close()是做pck.Save()不是的东西,或者我正在使用错误的流 - 任何人都可以建议?

谢谢菲尔

链接地址: http://www.djcxy.com/p/72035.html

上一篇: EPPlus with OpenXML and streams

下一篇: CSV with EPPlus parsing issues