2011-06-22 28 views
2

我想使用openxml sdk 2更新openxml Powerpoint文件中的各種圖表。 我設法更新了提供圖表和圖表本身的Excel表格上的數據。但效率不高,因爲我最終做了兩次相同的事情(用相同的數據更新嵌入式Excel和圖表對象),也因爲圖表對象的xml結構對於不同的圖表類型是不同的,所以更多應該是不必要的代碼和可能更多的錯誤。 我想知道是否有辦法告訴Chart使用Excel中的新數據更新自己。 我也嘗試使用圖表的自動更新屬性,但沒有任何結果。這是一個後續問題。第一個是這一個:How to make a powerpoint chart reflect changes to its data source?如何使用openxml更新Powerpoint上的不同embebbed圖表?

回答

1

據我所知,你正在尋找(令人沮喪,因爲它)是不可能的。 我一直處於與word文檔完全相同的位置,並最終爲每種類型的圖表做了一個方法,我知道我的代碼會遇到。

我不相信有一個觸發器讓你在打開單詞時強制更新。

但我很想被證明是錯誤的。

編輯澄清。 是的,您可以更新圖表,只更新xml中的數據緩存而不是嵌入的部分,然而,您最終會得到一個word文檔,如果您雙擊圖表來瀏覽數據源,會得到比文檔中顯示的數據源更多的數據源。此外,關閉數據源(嵌入式Excel)時,圖表將更新爲嵌入值。

總之。除非你打算PDF文檔或類似的東西,這是可以更新嵌入和XML圖表。

+1

可以在不更新嵌入式Excel數據表的情況下更新圖表數據。至少在VBA中。因此,如果您可以強制數據刷新,則可以將其綁定到「Open」事件並在文檔中的ChartObjects上循環。由於每種圖表類型都有不同的參數,因此這需要每種圖表類型的方法(例如,條,線,散點圖等)。但它是可行的。如果你很好奇,發佈一個問題(這個問題有點陳舊),我會給你提供基礎知識。 –

相關問題