1

誰かが助けてくれることを望んでいる2つの問題に遭遇しました。

openxmlを使用して、グラフに関連するExcel2007ファイルをpptx2007にプログラムで埋め込もうとしています。空のPPTxに1つのスライドが含まれていることを手動で作成してから、次のようにしました。

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 \ drawing \ charts \ embeddings \に配置しますが、手動埋め込みではファイルを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 に答える