微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

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

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

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

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

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

在文档中要先找到统计图的元素,在开发中,使用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中修改统计图的注意事项有哪些”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程之家行业资讯频道!

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐