2013-02-04 59 views
0

遇到两个我希望有人可以提供帮助的问题。使用openxml和C将Excel嵌入到Powerpoint 2007中#

我试图用程序使用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”扩展名?

在此先感谢!

回答

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)); 
就解决了这个问题
相关问题