2010-05-17 15 views
2

我有一個PowerPoint模板,其中包含一張幻燈片,並且該幻燈片是一張圖表。我希望能夠使用.NET處理圖表的數據。如何使用.NET更改PowerPoint圖表數據?

到目前爲止,我有一些代碼...

  1. 解壓PowerPoint文件。
  2. 解壓嵌入的excel文件(ppt \ embeddings \ Microsoft_Office_Excel_Worksheet1.xlsx)
  3. 它成功處理Excel表格中的數據並將其拉回備份。
  4. 打開和操縱的ppt \圖表\ chart1.xml
  5. 然後簡報被壓縮,並交付給用戶

這樣做的結果是PowerPoint文件,顯示一個空白圖表。但是當我點擊圖表並去編輯數據時,它會更新數據並顯示正確的圖表。

我相信我的問題是我正在生成的chart1.xml。我將生成的版本與PowerPoint創建的版本進行了比較,它們幾乎完全相同。唯一的區別在於<c:crossAx/><c:axId/>的值。

數據中也有一些舍入差異。但我不認爲這會導致空白圖表。

是否有另一個需要編輯的文件?有沒有人有任何想法,我還應該嘗試讓這個工作?

回答

1

這可能是axID值和舍入問題的組合。 Axis ID很可能是要求一個整數值,你可能會提供一個/雙。所以chart1.xml中的緩存數據不知道如何顯示。

嘗試您一直在做的操作,但不是在PowerPoint中打開結果,而是將.pptx擴展名更改爲.zip,解壓縮,然後手動修復舍入問題以匹配原始舍入。然後重新備份,將擴展名更改回.pptx並在PowerPoint中打開。如果這解決了顯示問題,則可以確認它是舍入問題。

或者,沿着相同的路線。按照您的方式在PowerPoint中打開您的結果PPTX,一旦您右鍵單擊並重新水化圖表,請另存爲一個不同的文件名,並將其與自動結果進行比較。

+0

謝謝!最後,我正在將一些數據寫入chart1.xml中的錯誤位置。但是,按照你的程序,我可以看到我的錯誤。謝謝你的幫助。 – mscccc 2010-05-17 17:04:34

相關問題