java向word模板中填充数据(总结)

使用过PageOffice动态生成word文档的人都知道,PageOffice能够给word文档的指定位置进行填充,这里咱们所说的指定位置在PageOffice的专业术语里面有两个概念,一个叫作数据区域(DataRegion),另外一个叫作数据标签(DataTag)。编程

  1、 概念字体

  数据区域:是Word文档中具备 "PO_" 前缀命名的书签所定位的文档区域。简单来讲,数据区域就是一种特殊的Word书签对象,便于定位Word文档中的内容。excel

  数据标签:是任意的有效字符组成的特殊样式的字符串(如“【时间】”、“{姓名}”、“${name}”等等)做为标记,理论上这样的字符串(好比:“性别”、“地址”、“aa”、“bbcc”)也能够当作数据标签,可是不推荐使用,由于这样的标签不能从视觉上直观的看出word文档中包含了哪些数据标签。对象

  2、使用blog

  数据区域里面能够填充些的内容:文本、图片、Word文件、Excel文件。图片

复制代码

WordDocument doc = new WordDocument();
    //填充文本
    DataRegion dataRegion1 = doc.openDataRegion("PO_userName");
    dataRegion1.setValue("张三");
    //还能够给填充的文本设置字体,颜色,粗体等样式
    dataRegion1.getFont().setColor(Color.blue);
    dataRegion1.getFont().setSize(24);
    dataRegion1.getFont().setName("隶书");
    dataRegion1.getFont().setBold(true);
    
    //填充图片
    doc.openDataRegion("PO_deptName").setValue("[image]img/123.jpg[/image]");
    //填充word文件
    doc.openDataRegion("PO_deptName").setValue("[word]doc/aabb.doc[/word]");
    //填充excel文件
    doc.openDataRegion("PO_deptName").setValue("[excel]doc/bbcc.xls[/excel]");

复制代码

  数据标签中能够填充的内容:文本。文档

 

复制代码

WordDocument doc = new WordDocument();
    //填充文本,还能够设置字体、颜色等样式
    DataTag deptTag = doc.openDataTag("{部门名}");
    deptTag.setValue("市场部");
    deptTag.getFont().setColor(Color.GREEN);
    deptTag.getFont().setName("宋体");
    deptTag.getFont().setSize(28);

复制代码

 

  3、区别字符串

        DataRegion类是要与书签结合使用的,既能够先在Word文档中插入以“PO_”开头的书签订义数据区域,再在程序中经过WordDocument类对象的OpenDataRegion(String DataRegionName)方法获取DataRegion对象;又能够经过WordDocument类对象的CreateDataRegion(String NewDataRegionName, DataRegionInsertType insertType, String RelativeDataRegionName)方法直接建立数据区域从而获取DataRegion类对象。而DataTag类是与Word文档中用户插入的自定义特征文本结合使用的。在程序中DataTag类对象只能经过OpenDataTag(String DataTagName)方法获取。get

         另外,数据区域的名称(即书签名称)必须以“PO_”开头,两个书签之间要有最少一个的有效字符,不能重复,数据区域的名称和Word文档中的位置是一一对应的。而数据标签的名称就是具备必定特征的Word字符串文本,便于定位Word文档中的内容,能够重复,数据标签的名称和Word文档中的位置是一对多的关系。也就是说,同一个Name的DataRegion只能表示Word文档中惟一一个位置,而在Word文档中相同的特征字符串能够在多处出现。io

         因此DataRegion的优势是:DataRegion既能够填充文档内容,还能够建立文档内容、提交用户在DataRegion里输入的内容、获取用户提交的DataRegion里的内容,而DataTag只能用于填充文档内容。DataRegion的缺点是:DataRegion没法简单重复,必需要设置不一样的书签,而DataTag能够在文档中多处生成须要重复的内容。

         而应该用DataTag仍是用DataRegion,则应该视具体的需求而定。当用户要提交Word中某部分数据或者想要获取Word中提交的某部分数据时则必需要用DataRegion;当用户不需提交数据或者获取数据,而且填充的数据无重复项时,则二者都可;当用户不需提交数据或者获取数据,且填充的数据有多个重复项时,虽然二者都可,可是为了编程简便、代码高效,建议使用DataTag。

标签: Java动态填充word

相关文章
相关标签/搜索