当前位置: 首页 > news >正文

公司域名不变网站做变动学生制作个人网站

公司域名不变网站做变动,学生制作个人网站,做动态头像的网站,个人网页设计尺寸前面介绍了《E6低代码开发平台》的Word模版引擎NVeloDocx,实现了表单的基本字段、子表、单张图片、二维码、条形码怎么基于NVelocity脚本输出到Word文件,都是些比较简单且常用的需求。 本篇介绍怎么基于NVeloDocx在Word中插入图表,目前只支持…

前面介绍了《E6低代码开发平台》的Word模版引擎NVeloDocx,实现了表单的基本字段、子表、单张图片、二维码、条形码怎么基于NVelocity脚本输出到Word文件,都是些比较简单且常用的需求。

本篇介绍怎么基于NVeloDocx在Word中插入图表,目前只支持柱状图,折线图,饼图。

当前只支持这3种图表的原因主要还是在Word中插入图表实在是有点困难,这种困难主要体现在软件编码上,很难找到相关的可参考代码,Open Xml SDK仅有的例子都是基于Excel的,拿过来压根不能用。而网络上很少例子,即使有也是基于Open Xml SDK 2.X的,不兼容Open XML SDK 3。

后来基于V2.5的工具Open XML SDK 2.5 Productivity Tool,花费大量的时间才最终把这3个图表的生成代码写出来,个中滋味不足为外人道!

当然花费这么大的代价最终也是很值得的,方便了我们自己,同时也方便了E6的用户,毕竟E6开发平台是永久免费开放的,且绝大部分都是没有软件基础的,要他们去开发个插件基本不可能。

下面进入正题:

要插入图表,首先得有数据源,Word图表的数据源就是一个如下类似的表格,所以能生成图表的也就是子表数据了:

Word图表的数据格式 

那么就需要我们在E6的Word模版数据源配置中,选择好子表,这样才能把对于子表的数据读取出来。由于E6开发平台是完全免费开放的,所以如果想实操,请自行注册下载安装。

 

在E6中设置好数据源 

 

其实整个过程最主要的就是设置好数据子表。图表所需要的子表的操作和E6表单上的子表操作完全相同,可以是主表单上的某个子表,也可以是某个表单的汇总信息,甚至存储过程返回的数据都可以。和普通子表不一样的地方在于,需要一个非数字列,其他的都是数字列(如上图中,非数字列为:保险公司,数字列为:保单保费、折标保费),因为图表显示的数据格式要求如此。

定义好数据后,插入图表的操作就是一行代码了:

柱状图:使用word.InsertBarChart()方法插入柱状图,包括4个参数,如下:

${word.InsertBarChart(${data.GetChild("Policy","DataGridViewForGroupBy1")},"保单汇总",140,90)}

参数1:子表,通过${data.GetChild("Policy","DataGridViewForGroupBy1")}获得子表数据,其中Policy表示子表编号(在E6中,每个表单都有一个编号),DataGridViewForGroupBy1表示控件名(在E6开发平台中可以查看)。

参数2:图表标题,如“保单汇总”;

参数3:图表宽,如“140”(单位毫米);

参数4:图表高,如“90”(宽度毫米)。

柱状图 

基于NVeloDocx是不是非常容易理解?虽然整个开发过程非常困难,但是最终用户的使用就是这么简单。

折线图和饼图的使用方法,除了方法名不一样以外,其他参数都是相同的,所以就不再一一介绍。

折线图:折线图的方法是word.InsertLineChart

${word.InsertLineChart(${data.GetChild("Policy","DataGridViewForGroupBy1")},"保单汇总",140,90,"Stacked")}

折线图 

饼图:饼图的方法是word.InsertPieChart

${word.InsertPieChart(${data.GetChild("Policy","DataGridViewForGroupBy1")},"保单汇总",140,90)}

饼图 

 Word支持很多的图表,但是很多都是基于这3中基本图表的变化,所以想把所有图表都实现其实也是没有太多意义的。


写在最后:基于E6开发平台的NVeloDocx,整个Word模版制作非常容易。

相信使用过NVelocity模版引擎的人都知道,这个模版引擎确实很强,就是出问题排查的时候实在头痛,特别是模版内容很多且命令很多的时候。但是NVeloDocx自带了NVelocity命令错误检测功能(很智能吧?),能够检测到具体是Word模版中哪一段的命令错误,错误原因大概是什么,最多的情况就是命令不正确,#if,#foreach等缺少对应的#end,以及括号是否匹配等等。毕竟E6开发平台的用户绝大部分都是无任何编程经验的。

 

http://www.jinmujx.cn/news/77157.html

相关文章:

  • 大连网站设计开发百度指数可以用来干什么
  • 邯郸网站优化百度一下百度官方网
  • 网站的链接结构怎么做一个新的app如何推广
  • 济南做网站公司哪家好华与华营销策划公司
  • 网站建设和维护采购协议百度云官网入口
  • 武汉市人民政府令第234号宁波seo关键词培训
  • 用brackets做网站宁德市安全教育平台
  • 武汉做网站的公司排名谷歌浏览器 安卓下载2023版官网
  • 广州在线图文网络科技中心网站建设移动端关键词排名优化
  • 网站需要什么费用天津百度快速优化排名
  • zencart网站管理网站网络营销推广
  • 如何手机做网站如何做网站推广及优化
  • 怎么做同学录的网站如何推广一个品牌
  • 电子商务b2c网站建设引擎seo如何优化
  • 学做家常菜去那个网站保定百度推广优化排名
  • 文案素材网站国内可访问的海外网站和应用
  • 河南平台网站建设哪里有百度一下首页百度
  • 网站开发网站开发网址查询地址查询
  • 手机端网站开发流程seo网站快排
  • WordPress网站很多垃圾注册南宁百度关键词优化
  • 免费网站制作厦门seo排名收费
  • 免费做数学题的网站网站百度不收录的原因
  • 做公益活动的网站站长素材
  • 域名可以同时做邮箱和网站么百度搜索引擎优化的推广计划
  • 东南亚营销型网站建设与网络推广360渠道推广系统
  • 手机网站的必要性今天最新的新闻
  • 哪个网站财经做的最好地推公司排名
  • 哪个网站做外链视频好下列关于seo优化说法不正确的是
  • 做外国人生意的网站有哪些厦门人才网官网招聘信息网
  • 网站怎么做交易平台免费的html网站