联系
我们

工作日 9:00-18:00

13632615190

分栏插入图片列表详解

NVeloDocx是基于NVelocity和OpenXml的Word模版引擎,所以遵循NVelocity的语法,但是要求上更为严格。

实际应用中,假设我们表单中有图片列表:

image.png


我们往往需要把图片列表分栏(比如2栏)插入到Word报告的某个表格中,如下图:

image.png


步骤详解:

假设图片列表的单据ID为:CustomerPictureBoxList

1、使用${data.GetChild("CustomerPictureBoxList")}获得图片列表数据,并赋值给变量$child;

2、使用${utils.ToArr($child, 2)}将图片列表拆分成每2条图片记录为一组的新列表,并赋值给$items;

3、使用#foreach循环图片表格,此时#foreach和对应的#end必须在表格的前后(Word中如果2个格式相同的表格中间无其他段落,则最终这些表格会自动组合成一个大表格

4、调用${word.InsertImg(${child.GetValue(${item.GetValue(1)},"__Path__")},65,45)}将图片插入对于的单元格。此时需要注意的是,下面的foreach由于循环的是$items变量,而$items又是一个包括2个元素的小数组,所以我们第一张图片数据使用${item.GetValue(0)} 第二张图片使用 ${item.GetValue(1)}获得图片数据。


image.png