pageoffice动态表格填充_pageoffice填充word - CSDN
精华内容
参与话题
  • 使用卓正PageOffice 动态填充Word文档

    千次阅读 2018-09-11 15:26:34
    PageOffice有基本了解的用户可能知道,PageOffice可以给word文档的指定位置进行填充,这里我们所说的指定位置在PageOffice的专业术语里面叫做“数据区域”,模板数据区域的具体制作和详细描述这里不做说明,具体的制作...

    对PageOffice有基本了解的用户可能知道,PageOffice可以给word文档的指定位置进行填充,这里我们所说的指定位置在PageOffice的专业术语里面叫做“数据区域”,模板数据区域的具体制作和详细描述这里不做说明,具体的制作方法请详细阅读“编辑模板中的数据区域”的章节.那么数据区域里面到底能填充些什么内容呢?以Java开发语言为例,下面我们一起学习一下。

    1. 数据区域中填充文本数据

    	WordDocument doc = new WordDocument();
    	//打开数据区域, "PO_userName"就是PageOffice中的数据区域
    	DataRegion dataRegion1 = doc.openDataRegion("PO_userName");
    	//给数据区域赋值
    	dataRegion1.setValue("张三");
        //还可以给填充的文本设置字体,颜色等样式
        dataRegion1.getFont().setColor(Color.blue);
        dataRegion1.getFont().setSize(24);
        dataRegion1.getFont().setName("隶书");
        dataRegion1.getFont().setBold(true);
        
    	DataRegion dataRegion2 = doc.openDataRegion("PO_deptName");
    	dataRegion2.setValue("销售部");
    	dataRegion2.getFont().setColor(Color.red);
    	…….
    	poCtrl1.setWriter(doc);
    	poCtrl1.webOpen("doc/test.doc", OpenModeType.docNormalEdit, "张三");
    

    141

    请参考PageOffice开发包中Samples4示例:
    二、27、给Word文档中的数据区域(DataRegion)赋值并设置样式

    2. 数据区域中填充图片([image]图片路径[/image])

    	WordDocument worddoc = new WordDocument();
        
    	// 给DataRegion赋值,值的形式为” [image]图片路径[/image]”,这里的图片路径可以是http相对路径,
        // 也可以是文件在服务器磁盘上的绝对路径,也可以是流的形式,例如: 
        // data1.setValue("[image]D:\\1.jpg[/image]");      
        // data1.setValue("[image]downImage.jsp?id=1[/image]");
    	DataRegion data1 = worddoc.openDataRegion("PO_p1");
    	data1.setValue("[image]doc/1.jpg[/image]");
    	…….
        poCtrl1.setWriter(worddoc);
    	poCtrl1.webOpen("doc/test.doc", OpenModeType.docNormalEdit, "张三");
    

    3. 数据区域中填充Word文档,生成一个文档合并的效果([word]word文档路径[/word]).

    	WordDocument worddoc = new WordDocument();
        
    	// 给DataRegion赋值,值的形式为” [word]word文档路径[/word]”,这里的文件路径可以是http相对路径,
        // 也可以是文件在服务器磁盘上的绝对路径,也可以是流的形式,例如: 
        // data1.setValue("[word]D://aa.doc[/word]");            
        // data1.setValue("[word]downFile.jsp?id=1[/word]");
    	DataRegion data2 = worddoc.openDataRegion("PO_p2");
    	data2.setValue("[word]doc/2.doc[/word]");
    	DataRegion data3 = worddoc.openDataRegion("PO_p3");
    	data3.setValue("[word]doc/3.doc[/word]");
    	…….
        poCtrl1.setWriter(worddoc);
    	poCtrl1.webOpen("doc/test.doc", OpenModeType.docNormalEdit, "张三");
    

    142

    请参考PageOffice开发包中Samples4示例:
    二、7、后台编程插入图片到数据区域(专业版、企业版)

    4. 数据区域中插入excel文档,生成一个文档合并的效果([excel]excel文档路径[/excel]).

    此处插入的excel文档可以在线手动编辑,但是没有其它excel复杂的功能,并且此功能只有企业版支持。

        WordDocument worddoc = new WordDocument();
        
    	//给DataRegion赋值,值的形式为“[word]excel文档路径[/excel]”,这里的文件路径可以是http相对路径,
        // 也可以是文件在服务器磁盘上的绝对路径,也可以是流的形式,例如: 
        //data1.setValue("[excel]D:\\aa.xls[/excel]");            
        //data1.setValue("[excel]downFile.jsp?id=1[/excel]");
        DataRegion data1 = worddoc.openDataRegion("PO_p1");
    	data1.setValue("[excel]doc/1.xls[/excel]");
    	…….
        poCtrl1.setWriter(worddoc);
    	poCtrl1.webOpen("doc/test.doc", OpenModeType.docNormalEdit, "张三");
    

    143

    请参考PageOffice开发包中Samples4示例:
    二、8、后台编程插入Excel文件到数据区域(企业版)

    展开全文
  • java读写word文档,完美解决方案

    万次阅读 2018-05-15 11:04:36
    在网上找了很多解决方案都不太理想,偶尔发现了PageOffice,一个国产的Office插件,开发调用非常简单!比网上介绍的poi,jacob等解决方按容易上手多了!功能接口虽然没有poi,jacob那么多,但是满足了一般的需求的...

    做项目的过程中,经常需要把数据里里的数据读出来,经过加工,以word格式输出。 在网上找了很多解决方案都不太理想,偶尔发现了PageOffice,一个国产的Office插件,开发调用非常简单!比网上介绍的poi,jacob等解决方按容易上手多了!功能接口虽然没有poi,jacob那么多,但是满足了一般的需求的百分之八九十,而且不像poi那样还需要区分处理07格式和03格式那么麻烦。

    下面是百度百科PageOffice的介绍:

      https://baike.baidu.com/item/PageOffice/2737741?fr=aladdin

    PageOffice的基本功能包括:

      在web网页里打开、编辑、打印预览、打印Word、Excel、PowerPoint等Office文档。
      文档并发控制机制。
      提供Word修订痕迹、手写批注、圈阅划线、键盘批注、电子印章等OA公文模块的必备功能。
      根据数据库动态将数据,包括文本、图片、表格等填充、导出到Word、Excel模板中指定的位置处,并且可以动态指定内容的各种格式。
      提取Word、Excel文档中指定位置处的内容,包括文本、图片(Excel暂不支持)、表格等,保存到数据库。
      其他功能就不细说了......

    更多的接口说明参考PageOffice官网API:http://www.zhuozhengsoft.com/help/java3/index.html

    下载地址:http://www.zhuozhengsoft.com/dowm/ 

    下载PageOffice开发包之后,拷贝 Samples4 文件夹到 Tomcat 的 Webapps 目录下,访问:http://localhost:8080/Samples4/index.html 就会看到所有官方示例效果的列表,重点参考以下几个示例:  

      一、11、给Word文档中的数据区域(DataRegion)赋值的简单示例
      一、17、给Word文档中Table赋值的简单示例
      一、18、使用数据标签(DataTag)给Word文件填充文本数据
      二、6、后台编程插入Word文件到数据区域
      二、7、后台编程插入图片到数据区域
      二、8、后台编程插入Excel文件到数据区域
      二、9、给Word文档添加水印
      二、10、使用数据标签(DataTag)给Word文件填充带格式的数据
      二、11、在Word中动态创建数据区域

    我们可以写一个简单的程序测试一下效果:

    复制代码
        PageOfficeCtrl poCtrl1 = new PageOfficeCtrl(request);    poCtrl1.setServerPage(request.getContextPath()+"/poserver.zz");     WordDocument worddoc = new WordDocument();    //先在要插入word文件的位置手动插入书签,书签必须以“PO_”为前缀    //给DataRegion赋值,值的形式为:"纯文本内容、[word]word文件路径[/word]、[image]图片路径[/image]"    DataRegion data1 = worddoc.openDataRegion("PO_p1");    data1.setValue("测试字符串");//纯文本内容    DataRegion data2 = worddoc.openDataRegion("PO_p2");    data2.setValue("[word]doc/2.doc[/word]");//插入word文件    DataRegion data3 = worddoc.openDataRegion("PO_p3");    data3.setValue("[image]doc/1.jpg[/image]");//插入图片    //打开文件、填充数据    poCtrl1.setWriter(worddoc);    poCtrl1.webOpen("doc/template.doc", OpenModeType.docNormalEdit, "用户名");
    复制代码

      代码很简单。短短几句就完成插入文字,图片,子Word文件的功能!不过做项目的话,可以先定义好一个word模板,这样有利于排版,减少编写代码的工作量,也可以调用PageOffice提供的接口控制模板中数据区域的样式,但是编码工作量就增加了。其功能还远不止这些,根据具体需求具体处理吧。

    展开全文
  • java向word模板中填充数据(总结)

    千次阅读 2018-05-07 16:58:23
    使用过PageOffice动态生成word文档的人都知道,PageOffice可以给word文档的指定位置进行填充,这里我们所说的指定位置在PageOffice的专业术语里面有两个概念,一个叫做数据区域(DataRegion),另一个叫做数据标签...

    使用过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。


    展开全文
  • PageOffice动态插入Word表格

    千次阅读 2018-09-11 15:29:16
    在项目的开发中会遇到这样的需求:要求在生成word文件的时候,在文件的指定位置生成不定数目的表格,每个表格的结构是一样的,但是需要根据数据库中的数据记录对每个表格填充不同的数据。上面所说的这个需求的基本...

    在项目的开发中会遇到这样的需求:要求在生成word文件的时候,在文件的指定位置生成不定数目的表格,每个表格的结构是一样的,但是需要根据数据库中的数据记录对每个表格填充不同的数据。上面所说的这个需求的基本模型可以认为是在word文件的指定位置开始生成工资条,因为工资条的特点就是每个人的表格都一样,只是表格里面的信息不一样。

    解决思路: 使用PageOffice实现这个需求模型的话需要一个模板template.doc,模板template.doc中包含了一个设计好的工资条的表格,在用PageOffice打开正式的文件(比如:zhengshi.doc)之前,用PageOffice的WordDocument对象获取到zhengshi.doc中要插入表格的那个指定位置,然后用DataRegion对象插入模板文件template.doc到这个位置,再使用Table对象把数据库中的值填充到表格中,接着在这个表格后面重复前面插入表格的方法插入新的表格和数据,直到所有的表格都生成完毕。

    详细效果请参考PageOffice开发包中Samples4示例:
    三、10、插入Word表格模板动态生成工资条

    示例说明: 为了便于分析PageOffice 实现动态插入表格的核心代码,此演示打开了一个空白的Word文件作为正式文件来生成工资单。编写代码在文件末尾循环动态创建数据区域,并在数据区域中插入template.doc和填充数据,最终在word文件中生成所有员工的工资条信息。

    1. 模板template.doc 的表格如下:
    员工编号 员工姓名 所属部门 工资 发放时间
    .        
    1. 示意代码如下:
    WordDocument doc = new WordDocument();
    DataRegion data = null;
    Table table = null;
    int i = 0;
    while (rs.next()) {
    	data = doc.createDataRegion("reg" + i,DataRegionInsertType.Before, "[End]");
    	data.setValue("[word]doc/template.doc[/word]");//插入模板中表格到文件中
    	//给单元格赋值
    	table = data.openTable(1);
    	table.openCellRC(2, 1).setValue(rs.getString("ID"));	
    	table.openCellRC(2, 2).setValue(rs.getString("UserName"));
    	table.openCellRC(2, 3).setValue(rs.getString("DeptName"));
    	table.openCellRC(2, 4).setValue(rs.getString("Salary"));
    	table.openCellRC(2, 7).setValue(rs.getString("DateTime"));
    	i++;
    }
    
    1. 在111.doc中生成的表格如下:
    员工编号 员工姓名 所属部门 工资 发放时间
    0001 张志强 技术 8000 2013-2-2
    员工编号 员工姓名 所属部门 工资 发放时间
    0002 李志 技术 9000 2013-2-2

    ……

    展开全文
  • pageoffice使用

    万次阅读 多人点赞 2016-09-26 17:44:44
    需要用到的jar包: pageoffice.jar 外部软件: office 2007 准备工作: 1.在xml下配置一个本地磁盘路径,作为保存新建的word保存的路径 D:\JAVA\kinggene\admin\workflow\wordTemp\form\doc\ //seq_word_path为配置...
  • Java动态生成word文档(图文并茂)

    千次阅读 2018-05-07 16:39:03
    很多情况下,软件开发者需要从数据库读取数据,然后将数据动态填充到手工预先准备好的Word模板文档里,这对于大批量生成拥有相同格式排版的正式文件非常有用,这个功能应用PageOffice的基本动态填充功能即可实现。...
  • java操作word(一)

    千次阅读 2018-05-15 10:51:03
    此需求可以通过用程序填充数据到word模板中来实现。所谓模板也就是标记了数据位置的Word文件。模板可以简单的分为两种:一种模板包含了固定的、有限个数的数据位置,比如一个请假条的模板中只有“部门、姓名、原因、...
  • PageOffice--实现用户自定义Word模板

    千次阅读 2018-09-12 14:19:50
    导读: 在涉及到word文档生成的项目中,一般采用编程将数据填充到word模板中生成文件的实现方式,如果模板由开发人员自己设计,那么编程填充数据是相对容易实现的;但如果用户希望可以自己修改模板或自己定义新模板...
  • 最近做项目用到word、excel的在线浏览编辑功能,在网上找了很多的工具软件,一...此次开发用到的是卓正公司的pageoffice集成,需要购买使用。 简单介绍下Page Office: 1. 在web网页里打开、编辑、打印预览、打印W...
  • java导出word的5种方式

    万次阅读 2019-01-09 08:57:19
    在网上找了好多天将数据库中信息导出到word中的解决方案,现在将这几天的总结分享...通过Jacob实现了在Java平台上对微软Office的COM接口进行调用。  优点:调用微软Office的COM接口,生成的word文件格式规范。  ...
  • PageOffice动态生成WORD文件

    千次阅读 2018-09-13 14:26:11
    PageOffice 组件提供的接口和对象都简洁高效,开发效率很高。不仅支持从一个空白的Word生成文件,还可以对现有的word模板做数据填充,还可以把多个word模板插入到一个word模板中不同的位置来组合生成文件,比如做一...
  • Microsoft.Office.Interop.Word 创建word

    万次阅读 2009-08-04 15:52:00
    搜集了Microsoft.Office.Interop.Word生产word的一些方法,想整理编写了一些类库用于自动创建word文档的。先将现有的劳动成功放在这里。有时间在加以完善! 一、添加页眉using System;using System.Collections....
  • PageOffice 对Word文档的一键套红功能

    千次阅读 2013-11-14 13:58:36
     PageOffice的一键套红功能是用来实现在线编辑时能方便、快捷、简单地对Word文档进行套红操作。  在线编辑Word文档时,有时需要对Word文档进行套红设置,如有些政府文件、公司内部颁发的文件等等,使用红头模板对...
  •  最近项目中有一个这样的需求:导出word 文档,要求这个文档的格式不是固定的,用户可以随便的调整,导出内容中的数据表格列是动态的,例如要求导出姓名和性别,你就要导出这两列的数据,而且这个文档不是导出来...
  • 使用PageOffice---给Word中的Table赋值

    千次阅读 2018-09-14 09:55:45
    Word中的table是要借助数据区域(DataRegion)实现的,要求数据区域完整的包含了整个Table的内容,这样才可以通过数据区域控制和操作...而table的插入,既可以在Word模版中书签处手动插入:工具栏“插入”→“表格...
  • Office Visio是Microsoft Office 家族中的一个成员,是当今最优秀的办公绘图软件之一,它将强大的功能和简单的操作完美地结合在一起。使用Office Visio 可以绘制业务流程图、组织结构图、项目管理图、营销图表、...
  •  PageOffice能实现在Word文档中动态循环输出多个相同格式的表格并在表格的单元格中动态填充数据。  在Word文档中使用表格时,有时可能会需要生成多个具有相同格式的表格,例如某大公司需要生成多名员工的工资单、...
  • PageOffice能够在线编辑Word、Excel、PowerPoint文档,Word/Excel模板动态填充,Word/Excel在线输入提交,系统数据导入导出word、excel文档的Office快速开发组件库,是目前把Office应用到Web平台上的最全面、最先进...
  • 基于Office Visio 2010 图表绘制

    万次阅读 2012-12-11 15:21:23
    Office Visio是Microsoft Office 家族中的一个成员,是当今最优秀的办公绘图软件之一,它将强大的功能和简单的操作完美地结合在一起。使用Office Visio 可以绘制业务流程图、组织结构图、项目管理图、营销图表、...
  • c#/.net操作word插入表格实例

    千次阅读 2016-10-27 16:11:52
    整体是一个模板,第一个表格是替换里面的值,第二个直接动态生成插入。 。。。代码 using Abase; using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Data; using...
1 2 3 4 5 ... 20
收藏数 2,183
精华内容 873
关键字:

pageoffice动态表格填充