使用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"扩展名?

提前感谢!

使用openxml和C#将Excel嵌入Powerpoint 2007

刚刚通过添加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));
相关文章: