2017-03-06 10 views
0

私はPowerpointのExcelデータにリンクされているチャートの更新に関するすべてを読んだ。私はこの基本的なスプレッドシートとナンバリングキャッシュの両方を更新し続けました。 私の現在の問題は非常に似ていると思う - 私はキャッシュを見つけることができません!多分、誰かが私を正しい方向に向けることができます。OpenXML EmbeddedPackagePartとキャッシュ

Powerpointチャート(埋め込みパッケージの部分と数値キャッシュを持つ)の代わりに、埋め込みExcelからセルをコピーするだけで、スライドに直接埋め込まれます。 いつものように、埋め込みセルを「編集」すると、更新されたデータが表示され、Powerpointのドキュメントに戻ると、すべてのデータが正しく表示されます。だから私はそれは似たような問題だと思うが、私はキャッシュを更新するのですか?

現在、PresentationDocument.SlideParts [0] .EmbeddedPackageParts [0]を使用して、基になるデータを更新します(実際にはインデックス0は使用しませんが、それは要点です)。私は、私はあなたを誤解していない願っていますあなたの助け

答えて

1

ため

おかげで、それにもかかわらず、私はあなたが以下のようなものを持っていると推定:

Presentation with embedded Excel

そして、何したいですそのデータを更新することですこのプレゼンテーションがMS PowerPointで開かれたときに表示される、正しいのですか?

残念ながら、これはキャッシュされた値(本質的に)ではなく、実際にはイメージです。 PPTXファイルをフォルダに解凍し、 "\ ppt \ media"サブフォルダをチェックすると、その埋め込みコンテンツを表すために使用されるイメージ(おそらくEMF形式)を見つけることができるはずです。私の上記のサンプルの場合
、私は「\のPPTの\メディアの\ image1.emf」があります。

Screenshot of EMF image

ですから、その画像表現を更新する必要がありますと、残念ながら私はOpenXMLのSDKがになると信じていませんこれであなたを助けることができます。 XLSXファイルをイメージにレンダリングまたは変換できるツール/ユーティリティを検索する必要があります。

+0

ah ok。私はそれをPowerpointプレゼンテーションに追加したとき、いくつかのペーストオプションがありました。私は埋め込みを選択しました。私が仮定したように画像ではなく、基になるデータを更新するだけで..... ..... それは超痛です! PPTXファイルの解凍方法は不明ですか? Open XML SDKツールを使用して、image18.emfと呼ばれるノードを見ることができますが、そのイメージがその特定のツールを使用しているかどうかはわかりません。 私はちょうど私がデータを更新することができますそれらの細胞を表示するより良い方法はありますか? ありがとう – user2047485

+0

最初に解凍について、すべてのOffice Open XML形式(DOCX、XLSX、PPTXを含む)は基本的にZIPファイルであり、ZIPツール/プログラム/ユーティリティで解凍できます。たとえば、プレゼンテーションファイルの拡張子を ".pptx"から ".zip"に変更して右クリックし、 "すべて展開..."を選択してみてください。第二に、より良い方法については、これはあなたのために良いかどうかはわかりませんが、私はプレゼンテーションでテーブルを再作成しようとすると、私はそれが[ShapeTree]だと信じています(https://msdn.microsoft.com/en-us OOXML SDKの/library/documentformat.openxml.presentation.shapetree(v=office.15).aspx)要素。 –

+0

つまり、XLSXファイルをPPTXに埋め込む代わりに、XLSXファイルを読み込んでPPTXでテーブルを作成してみることもできます。このタスクは、OOXML SDKだけを使用して達成する必要があります。しかし、あなたの正確なニーズ(正確なマッピングが得たいと思うかどうか、例えば正確なスタイリングと書式設定などを含めるべきかどうかなど)は、コード化するのが簡単で複雑な作業になる可能性があります。 –