1

遇到两个问题,我希望有人可以提供帮助。

我正在尝试使用 openxml 以编程方式将与图表相关的 excel 2007 文件嵌入到 pptx 2007 中。我手动创建了一个包含一张幻灯片的空 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 代码反射器编写它的方式,除了二进制数据在字符串中(我在其中打开文件)之外保存。但是,这段代码在 xl\drawings\charts\embeddings\ 中放置了一个“package.bin”文件,而我的手动嵌入将文件放入 ppt\embeddings。有没有人遇到过这个问题,并找到了解决文件位置不正确以及“.bin”扩展名的方法?

提前致谢!

4

1 回答 1

0

刚刚通过添加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));
于 2013-02-12T08:46:33.453 回答