使用openxml和C#将Excel嵌入Powerpoint 2007
本文关键字:嵌入 Powerpoint 2007 Excel openxml 使用 | 更新日期: 2023-09-27 17:57:49
遇到两个问题,我希望有人能帮忙。
我正在尝试使用openxml以编程方式将一个与图表相关的excel2007文件嵌入到pptx2007中。我手动创建了一个空的PPTx,其中包含一张幻灯片,然后我做了:
EmbeddedPackagePart newEmbeddedPackagePart = slidePart.AddNewPart<EmbeddedPackagePart>("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet","rId10");
newEmbeddedPackagePart.FeedData(File.Open(@"C:'Book1.xlsx", FileMode.Open));
Drawing.Charts.ExternalData newEmbeddedPackagePart = new DocumentFormat.OpenXml.Drawing.Charts.ExternalData();
newEmbeddedPackagePart.Id = "rId10";
这基本上就是SDK代码反射器编写它的方式,除了二进制数据在字符串中(我正在打开一个文件)。然而,这段代码将一个"package.bin"文件放在xl''adrawings''charts''embeddings''中,而我的手动嵌入将该文件放在ppt''embeddings中。有没有人遇到过这个问题,并找到了一种方法来克服文件的错误位置以及".bin"扩展名?
提前感谢!
刚刚通过添加2行解决了问题:)
// Create new Embedded Package Part
EmbeddedPackagePart embPackage = myChartPart.AddNewPart<EmbeddedPackagePart>("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", "rId1");
// Feed imported data from an excel file into the embedded package
embPackage.FeedData(new FileStream(@"C:'PATH_TO_FILE'data.xlsx", FileMode.Open, FileAccess.ReadWrite));