`
18335864773
  • 浏览: 22270 次
文章分类
社区版块
存档分类
最新评论

[转载]java向word模板中填充数据(总结)

阅读更多

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

  一、 概念

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

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

  二、使用

  数据区域里面可以填充些的内容:文本、图片、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);
复制代码

 

  三、区别

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

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

         所以DataRegion的优点是:DataRegion既可以填充文档内容,还可以创建文档内容、提交用户在DataRegion里输入的内容、获取用户提交的DataRegion里的内容,而DataTag只能用于填充文档内容。DataRegion的缺点是:DataRegion无法简单重复,必须要设置不同的书签,而DataTag可以在文档中多处生成需要重复的内容。

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

分享到:
评论

相关推荐

    java代码实现填充word模板生成word合同的实例

    本实例将探讨如何使用Java代码实现填充Word模板并生成Word合同。 首先,我们需要理解Apache POI库。Apache POI是Java平台上的一个开源项目,它允许Java应用程序读取、写入和修改Microsoft Office格式的文件,包括...

    Java操作Word模板实现动态数据输出

    在Java环境中读取Word模板文件并填充数据,通常需要借助第三方库,例如Apache POI。以下是简化的步骤: 1. **导入Apache POI库**:在项目中添加Apache POI依赖。 2. **读取Word模板文件**:使用Apache POI提供的类...

    java开发word模板填充转PDF文件

    2.使用poi填充word报表标签及表格数据技术,解决标签替换不生效、不到位、替换错误,中文乱码等常见问题。 3.使用jacob操作com组件技术将word转为PDF文件,解决转换后部分中文丢失、乱码、表格丢失、转换后失真等...

    PageOffice Java 动态填充Word模版

    以生成工资条为例,演示了通过PageOffice开发平台,用Java语言实现Word文档的在线打开、编辑和保存,数据区域数据的动态填充和提交,数据区域插入Word文件,动态填充和提交Word文件中Tabel的数据

    java运用poi填充word数据并将多个word合并为一个

    首先,需要创建一个`XWPFDocument`对象来加载Word模板,接着遍历文档中的每一个段落(`XWPFParagraph`)和表格(`XWPFTable`),查找`XWPFFieldRun`或`XWPFTextRun`对象,这些对象代表了文本内容。找到占位符后,...

    Java Poi流 根据Word模板插入相应的文本、表格和图片,生成新的Word报告

    在本主题中,我们将深入探讨如何使用Java POI流处理Word模板,插入文本、表格和图片,以及生成新的Word报告。 1. **Java POI流处理Word模板**: - POI API提供了`XWPFDocument`类来处理`.docx`文件,这是Word 2007...

    Java Poi流根据Word模板插入相应的文本、表格和图片,并生成新的Word报告。

    在这个场景中,我们关注的是如何利用Java POI库通过Word模板生成包含特定文本、表格和图片的报告。 首先,我们需要了解Java POI中的XWPFDocument类,它是用来处理.docx文件的。XWPFDocument可以读取、修改和创建...

    Java通过word模板配置书签生成word

    首先,我们需要在Word模板中设定好书签的位置,然后在代码中找到这些书签并填充内容。以下是一个简单的步骤概览: 1. **导入依赖**: 首先,你需要在你的项目中引入Apache POI库,可以通过Maven或Gradle来添加依赖。...

    java导出word模板

    在这个场景中,我们看到一个道路案卷管理系统的例子,其中涉及到的数据字段是通过Java代码动态填充到Word模板中的。以下是对这个话题的详细解释: 1. **模板引擎**: 在Java中,`FreeMarker`是一个常用的模板引擎...

    java操作word(包含书签插值)

    Java作为一种广泛使用的编程语言,提供了多种库来操作Word文档,实现自动化填充模板,例如书签插值,这在合同制作中非常有用。本文将详细讲解如何使用Java操作Word,特别是针对书签插值的方法,以及相关的技术和工具...

    java使用poi根据word模板生成word(图片及文字).zip

    2. **Word模板**:在Java程序中,你可以创建一个Word模板,其中包含一些预定义的占位符或标签,如"{xxxx}"。这些标签将被你的代码中的实际数据替换。模板文件可以包含文本、格式化元素、图片等,提供了一种灵活的...

    java使用word模板导出个人简历

    在本案例中,Freemarker用于填充Word模板中的占位符,生成个人简历。 2. **处理Word2003模板(.dot)**: Word2003时代的模板文件扩展名为.dot。在Java中,可以使用Apache POI库来操作这种格式。Apache POI是一个...

    java根据word模板导出Word文件,插入图片表格都可以

    网络上的根据模板填充Word我都看过一些, 它们的功能在数据换行的时候用的是run对象的.addCarriageReturn()方法,或者是直接用\n实现换行。这些都不符合我的需求, 因为我要的是分段,而不是换行。换行的word导致另一...

    java 根据word模板生成word 文档

    `Java2word`类是实现Word文档生成的核心,其设计考虑了模板替换、图片插入以及表格数据填充等多种需求,通过HashMap对象来传递数据,其中键代表Word模板中待替换的字段,值则是用于替换的具体内容。 - **模板字段...

    java填充word文档(带有富文本).zip

    Java填充Word文档(带有富文本)是一项常见的任务,在软件开发中尤其重要,特别是在自动化报告生成、数据导出或个性化文档创建等场景下。这个压缩包"ExpordWord-master"很可能包含了一个Java项目,用于演示如何在...

    word中指定内容进行填充

    本话题聚焦于使用Java这一强大且广泛应用的开发语言来实现Word文档中指定内容的查找与替换功能。这一技术在自动化报告生成、数据更新、文档批处理等多个场景中都有重要作用。 首先,要实现这个功能,我们需要了解...

    springboot实现根据指定pdf、word模板文件填充值到文件里面,生成对应的文件

    在Spring Boot中,我们可以创建一个服务,该服务接受Word模板文件和数据,然后使用POI API将数据填入模板中的占位符,最后生成一个新的Word文档。 对于PDF文件的处理,我们可以使用iText库。iText是一个强大的PDF...

    java_word填充数据导出工具

    在提供的压缩包文件`java_workspace_qbNew`中,可能包含了示例代码、Word模板文件以及已经填充数据后的输出文件。通过查看这些文件,你可以更好地理解如何将数据导入到Word文档中。此外,两个Word文件(模板和输出)...

    java生成word模板详解

    Java生成Word模板是一种常见的技术,尤其在企业级应用中,用于自动生成报告、合同或任何需要格式化的文本文档。这个技术通常涉及到Java的IO流处理、模板引擎以及可能的库如Apache POI或OpenOffice API。 Apache POI...

Global site tag (gtag.js) - Google Analytics