【问题标题】:Embed Excel into Powerpoint 2007 using openxml and C#使用 openxml 和 C# 将 Excel 嵌入到 Powerpoint 2007
【发布时间】:2013-02-12 16:46:33
【问题描述】:

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

我正在尝试使用 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”扩展名的方法?

提前致谢!

【问题讨论】:

    标签: c# excel charts powerpoint openxml


    【解决方案1】:

    刚刚通过添加 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));
    

    【讨论】:

    • C# 2.0 是否支持 Open XML SDK 2.0?
    猜你喜欢
    • 2014-11-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-07-27
    • 1970-01-01
    • 1970-01-01
    • 2012-05-10
    • 1970-01-01
    相关资源
    最近更新 更多