OPENXML中修改统计图的注意事项有哪些

免费建站   2024年05月09日 15:06  

这篇文章主要为大家展示了“OPENXML中修改统计图的注意事项有哪些”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“OPENXML中修改统计图的注意事项有哪些”这篇文章吧。

在word文档中,可以通过excel表格,在文档中,建立一个统计图,在程序开发中,可以找到这个统计图,修改一系列的数据,从而达到更新统计图的效果,使用openxml库,可以达到修改数据的效果。

用解压缩工具打开一个word文档的示例,word文档中包含统计图,在结构中发现word文档中存储了一个excel附件,在embeddings的文件夹中,所以修改统计图的时候,一定要把此excel文件也要同步修改。

在文档中要先找到统计图的元素,在开发中,使用ChartParts,根据chart的个数,选择要修改的chart元素。

var _chartParts = _mainDocPart.ChartParts;

找到统计图的附件文件,获取其中的excel文件,之后就是处理excel文件中的数据,修改execel中的行列数据,具体方法参见C#使用 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中修改统计图的注意事项有哪些”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!

域名注册
购买VPS主机

您或许对下面这些文章有兴趣:                    本月吐槽辛苦排行榜

看贴要回贴有N种理由!看帖不回贴的后果你懂得的!


评论内容 (*必填):
(Ctrl + Enter提交)   

部落快速搜索栏

各类专题梳理

网站导航栏

X
返回顶部