您好,登錄后才能下訂單哦!
這篇文章主要為大家展示了“OPENXML中修改統計圖的注意事項有哪些”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“OPENXML中修改統計圖的注意事項有哪些”這篇文章吧。
在word文檔中,可以通過excel表格,在文檔中,建立一個統計圖,在程序開發中,可以找到這個統計圖,修改一系列的數據,從而達到更新統計圖的效果,使用openxml庫,可以達到修改數據的效果。
用解壓縮工具打開一個word文檔的示例,word文檔中包含統計圖,在結構中發現word文檔中存儲了一個excel附件,在embeddings的文件夾中,所以修改統計圖的時候,一定要把此excel文件也要同步修改。
在文檔中要先找到統計圖的元素,在開發中,使用ChartParts,根據chart的個數,選擇要修改的chart元素。
var _chartParts = _mainDocPart.ChartParts;
找到統計圖的附件文件,獲取其中的excel文件,之后就是處理excel文件中的數據,修改execel中的行列數據,具體方法參見C#使用 OpenXML SDK讀取Excel文檔。
var _empart = _chartParts.First().EmbeddedPackagePart;
Stream stream = _empart.GetStream();
using (SpreadsheetDocument ssDoc =SpreadsheetDocument.Open(stream, true))
需要注意的是,假如統計圖的橫軸是以時間為單位,需要用ToOADate(OLE 自動化日期)進行相應的轉換,
_dateParm.ToOADate().ToString();
修改完excel后,打開word發現統計圖的數據并沒有更新,點擊一下編輯,統計圖倒是更新了,是因為統計圖中也有數據的緩存,需要同步進行修改。
從統計圖找到NumericValue的值,根據循環,將其中的文本進行修改。
LineChartSeries bs1 = _chartPart.ChartSpace.Descendants<LineChartSeries>().First();
IEnumerable<NumericValue> _numCaches = bs1.Descendants<NumericValue>();
以上是“OPENXML中修改統計圖的注意事項有哪些”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。