带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