这篇文章主要为大家展示了“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进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。