這篇文章主要為大家展示了“OPENXML中修改統(tǒng)計(jì)圖的注意事項(xiàng)有哪些”,內(nèi)容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“OPENXML中修改統(tǒng)計(jì)圖的注意事項(xiàng)有哪些”這篇文章吧。
創(chuàng)新互聯(lián)專注于企業(yè)網(wǎng)絡(luò)營銷推廣、網(wǎng)站重做改版、平谷網(wǎng)站定制設(shè)計(jì)、自適應(yīng)品牌網(wǎng)站建設(shè)、H5高端網(wǎng)站建設(shè)、商城網(wǎng)站開發(fā)、集團(tuán)公司官網(wǎng)建設(shè)、成都外貿(mào)網(wǎng)站制作、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁設(shè)計(jì)等建站業(yè)務(wù),價(jià)格優(yōu)惠性價(jià)比高,為平谷等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。
在word文檔中,可以通過excel表格,在文檔中,建立一個(gè)統(tǒng)計(jì)圖,在程序開發(fā)中,可以找到這個(gè)統(tǒng)計(jì)圖,修改一系列的數(shù)據(jù),從而達(dá)到更新統(tǒng)計(jì)圖的效果,使用openxml庫,可以達(dá)到修改數(shù)據(jù)的效果。
用解壓縮工具打開一個(gè)word文檔的示例,word文檔中包含統(tǒng)計(jì)圖,在結(jié)構(gòu)中發(fā)現(xiàn)word文檔中存儲(chǔ)了一個(gè)excel附件,在embeddings的文件夾中,所以修改統(tǒng)計(jì)圖的時(shí)候,一定要把此excel文件也要同步修改。
在文檔中要先找到統(tǒng)計(jì)圖的元素,在開發(fā)中,使用ChartParts,根據(jù)chart的個(gè)數(shù),選擇要修改的chart元素。
var _chartParts = _mainDocPart.ChartParts;
找到統(tǒng)計(jì)圖的附件文件,獲取其中的excel文件,之后就是處理excel文件中的數(shù)據(jù),修改execel中的行列數(shù)據(jù),具體方法參見C#使用 OpenXML SDK讀取Excel文檔。
var _empart = _chartParts.First().EmbeddedPackagePart;
Stream stream = _empart.GetStream();
using (SpreadsheetDocument ssDoc =SpreadsheetDocument.Open(stream, true))
需要注意的是,假如統(tǒng)計(jì)圖的橫軸是以時(shí)間為單位,需要用ToOADate(OLE 自動(dòng)化日期)進(jìn)行相應(yīng)的轉(zhuǎn)換,
_dateParm.ToOADate().ToString();
修改完excel后,打開word發(fā)現(xiàn)統(tǒng)計(jì)圖的數(shù)據(jù)并沒有更新,點(diǎn)擊一下編輯,統(tǒng)計(jì)圖倒是更新了,是因?yàn)榻y(tǒng)計(jì)圖中也有數(shù)據(jù)的緩存,需要同步進(jìn)行修改。
從統(tǒng)計(jì)圖找到NumericValue的值,根據(jù)循環(huán),將其中的文本進(jìn)行修改。
LineChartSeries bs1 = _chartPart.ChartSpace.Descendants
IEnumerable
以上是“OPENXML中修改統(tǒng)計(jì)圖的注意事項(xiàng)有哪些”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!