说明:使用pageoffice动态给word模板填充数据,插入图片、excel、word格式的文件和创建表格

一、准备工作:

本地创建一个doc或者docx格式的文件,在文件中需要插入数据的地方设置以“PO_”开头的书签(pageoffice只能识别“PO_”开头的书签)。

二、插入图片

        PageOfficeCtrl poCtrl = new PageOfficeCtrl(request);
poCtrl.setServerPage("/poserver.zz");//设置服务页面 WordDocument worddoc = new WordDocument(); //给DataRegion插入图片,值的形式为:"[image]图片路径[/image]"
DataRegion data1 = worddoc.openDataRegion("PO_image");
data1.setValue("[image]G:\\doc\\test.jpg[/image]"); //设置 PageOfficeCtrl 控件的数据对象,这句不写插入图片代码不生效
poCtrl.setWriter(worddoc); //打开Word文档
poCtrl.webOpen("G:\\doc\\template.docx", OpenModeType.docNormalEdit, "张三");

三、插入word文件

         PageOfficeCtrl poCtrl = new PageOfficeCtrl(request);
poCtrl.setServerPage("/poserver.zz");//设置服务页面 WordDocument worddoc = new WordDocument(); //给DataRegion插入word文件,值的形式为:"[word]word文件路径[/word]"
DataRegion data2 = worddoc.openDataRegion("PO_word");
data2.setValue("[word]G:\\doc\\template1.docx[/word]"); poCtrl.setWriter(worddoc); //打开Word文档
poCtrl.webOpen("G:\\doc\\template.docx", OpenModeType.docNormalEdit, "张三");

四、插入excel文件

        PageOfficeCtrl poCtrl = new PageOfficeCtrl(request);
poCtrl.setServerPage("/poserver.zz");//设置服务页面 WordDocument worddoc = new WordDocument(); //给DataRegion插入excel文件,值的形式为:"[excel]excel文件路径[/excel]"
DataRegion data3 = worddoc.openDataRegion("PO_excel");
data3.setValue("[excel]G:\\doc\\template2.xlsx[/excel]"); poCtrl.setWriter(worddoc); //打开Word文档
poCtrl.webOpen("G:\\doc\\template.docx", OpenModeType.docNormalEdit, "张三");

五、动态创建表格并赋值

pageoffice动态创建表格和本地office创建表格一样,可以设置表格的边框颜色、边框类型、边框线条样式和边框粗细等等,也可以合并单元格,具体方法可以参考帮助文档:生成的文档(无标题)

        PageOfficeCtrl poCtrl = new PageOfficeCtrl(request);
poCtrl.setServerPage("/poserver.zz");//设置服务页面 WordDocument worddoc = new WordDocument(); //动态创建一个4行4列根据活动窗口的宽度自动调整大小的表格
DataRegion data4 = worddoc.openDataRegion("PO_table");
Table table = data4.createTable(4, 4, WdAutoFitBehavior.wdAutoFitWindow);
//设置表格边框颜色
table.getBorder().setLineColor(Color.red);
//合并单元格
table.openCellRC(1,1).mergeTo(2,1);
table.openCellRC(1,1).setValue("合并"); poCtrl.setWriter(worddoc); //打开Word文档
poCtrl.webOpen("G:\\doc\\template.docx", OpenModeType.docNormalEdit, "张三");

整体效果和代码:

        PageOfficeCtrl poCtrl = new PageOfficeCtrl(request);
poCtrl.setServerPage("/poserver.zz");//设置服务页面 WordDocument worddoc = new WordDocument(); //给DataRegion插入图片,值的形式为:"[image]图片路径[/image]"
DataRegion data1 = worddoc.openDataRegion("PO_image");
data1.setValue("[image]G:\\doc\\test.jpg[/image]"); //给DataRegion插入word文件,值的形式为:"[word]word文件路径[/word]"
DataRegion data2 = worddoc.openDataRegion("PO_word");
data2.setValue("[word]G:\\doc\\template1.docx[/word]"); //给DataRegion插入excel文件,值的形式为:"[excel]excel文件路径[/excel]"
DataRegion data3 = worddoc.openDataRegion("PO_excel");
data3.setValue("[excel]G:\\doc\\template2.xlsx[/excel]"); //动态创建一个4行4列根据活动窗口的宽度自动调整大小的表格
DataRegion data4 = worddoc.openDataRegion("PO_table");
Table table = data4.createTable(4, 4, WdAutoFitBehavior.wdAutoFitWindow);
//设置表格边框颜色
table.getBorder().setLineColor(Color.red);
//合并单元格
table.openCellRC(1,1).mergeTo(2,1);
table.openCellRC(1,1).setValue("合并"); poCtrl.setWriter(worddoc); //打开Word文档
poCtrl.webOpen("G:\\doc\\template.docx", OpenModeType.docNormalEdit, "张三");

PageOffice——动态填充Word模板并在线编辑的更多相关文章

  1. [转载]Java动态填充word文档并上传到服务器

    一. 需求背景 在一些特殊应用场合,客户希望在服务器上生成文档的同时并填充数据,客户端的页面不显示打开文档,但是服务器上生成文档对服务器压力很大,目前服务器上生成文档第一种就是方式是jacob, 但是 ...

  2. [原创]Java动态填充word文档并上传到服务器

    一. 需求背景 在一些特殊应用场合,客户希望在服务器上生成文档的同时并填充数据,客户端的页面不显示打开文档,但是服务器上生成文档对服务器压力很大,目前服务器上生成文档第一种就是方式是jacob, 但是 ...

  3. 利用POI 技术动态替换word模板内容

    项目中需要实现一个功能,动态替换给定模板里面的内容,生成word文档提供下载功能. 中间解决了问题有: 1.页眉的文档logo图片解决,刚开始的时候,HWPFDocument 对象无法读取图片对象(已 ...

  4. Office word excel电子表格在线编辑的实现方法

    Office xp之后的版本支持通过webdav协议(http的扩展)直接编辑服务器上的文件. IIS(6.0)支持webdav,这在IIS管理器的web服务扩展中可以看到.利用IIS作为webdav ...

  5. .net core 使用NPOI填充Word模板导出Word

    最近工作用到在Word模板插入数据库数据,导出一个带数据的Word文件,想起来之前操作Word都是用微软提供的Microsoft.Office.Interop.Word,而在最新的..NET CORE ...

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

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

  7. [原创]java向word模板中填充数据(总结)

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

  8. 在线编辑Word——插入图片、图形

    在Word中支持插入图片.图形等元素,同时支持对插入的图片和图形进行格式化操作,如裁剪.调整尺寸大小.调成颜色.阴影.倾斜角度.透明度等等.本文,将通过使用Spire.Cloud Word在线编辑器来 ...

  9. word在线编辑\生成图片(包含截图与合并)

    1.业务原因 word编辑后的文章复制到html编辑器(fck等)会发生排版错乱的情况,于是混沌了.需要有一个新的方法来终结,于是产生了word能不能在线编辑,后台保存,前台显示灯一系列问题. 2.首 ...

  10. 在线编辑Word——插入图表

    在Word中可插入图表,配合使用表格能够更加全方位的展示数据的可信度并增加数据的可读性.本文将通过使用在线编辑器 Spire.Cloud Word 演示如何来插入图表,并设置相关格式化操作.具体步骤如 ...

随机推荐

  1. JDK14中的java tools简介

    目录 故事发生了 java tools简介 jaotc jar jarsigner java javac javadoc javap jcmd jconsole jdb jdeprscan jdeps ...

  2. 【译】新的 MSBuild 编辑体验

    MSBuild 是 .NET 开发体验的基本组成部分,但它对新手和有经验的开发人员都具有挑战性.为了帮助开发人员更好地理解他们的项目文件,并访问需要直接编辑项目文件的高级功能,我们发布了一个实验性的 ...

  3. 如何在HarmonyOS对数据库进行备份,恢复与加密

    数据库备份与恢复 场景介绍 当应用在处理一项重要的操作,显然是不能被打断的.例如:写入多个表关联的事务.此时,每个表的写入都是单独的,但是表与表之间的事务关联性不能被分割. 如果操作的过程中出现问题, ...

  4. HarmonyOS 3.1版本发布,全面进入声明式开发

    原文:https://mp.weixin.qq.com/s/kyyYCjrl6E8MBxKpBSKNWg,点击链接查看更多技术内容.   开发者的脚步永不停歇,2022年我们发布了HarmonyOS ...

  5. 树模型-C4.5

    C4.5: ID3的改进版本 首先,C4.5和ID3一样都是多叉树,重点是连续特征处理+特征选择的方式不同. ID3算法存在的不足, 在C4.5里面有了改进 有那些改进 不能处理连续特征的问题 C4. ...

  6. 在 Visual Studio 2022 中创建一个类似于旧版本 Visual Studio 中的 Win32 Console Application 项目

    在 Visual Studio 2022 中创建一个项目,其自动生成的源文件内容包含 #include "stdafx.h" 和使用_tmain 作为入口点,意味着你需要创建一个基 ...

  7. Spring Cloud Stream 源码解析

    Spring Cloud Stream 是一个消息驱动微服务的框架.   应用程序通过inputs 或者outputs 来与 Spring Cloud Stream 中binder 交互,通过我们配置 ...

  8. mysql 必知必会整理—事务[十六]

    前言 简单整理一下事务. 正文 并非所有引擎都支持事务处理 正如第21章所述,MySQL支持几种基本的数据库引擎. 正如本章所述,并非所有引擎都支持明确的事务处理管理. MyISAM和InnoDB是两 ...

  9. js 按照字母进行分组

    前言 js 按照字母进行分组的一个实例. 正文 var list = [ { 'name' : '张三', 'py' : 'zhnagsan' }, { 'name' : '李四', 'py' : ' ...

  10. 如何使用鞋厂ERP等企业管理软件提高企业运营整体效率?

    ERP把企业客户需求.市场规划.产品研发.内部制造等活动以及供应商的资源整合在一起,形成企业一个完整的产业链和供应链,通过企业多个环节的无缝链接和整体运作来提高企业运营整体效率: (1) . 对整个产 ...