说明:使用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. #trie,树链剖分#洛谷 6088 [JSOI2015]字符串树

    题目 分析 显然树上的问题可以转换成根节点到两点的答案减去2倍根节点到LCA的答案 化边为点,考虑子节点承接父节点的trie,再加入一条新的字符串, 在循环的过程中统计一个位置被多少个字符串经过, 这 ...

  2. Java 异常处理与正则表达式详解,实例演练及最佳实践

    Java 异常 - Try...Catch 在 Java 代码执行期间,可能会发生各种错误,包括程序员编码错误.用户输入错误以及其他不可预料的状况. 当错误发生时,Java 通常会停止并生成错误消息, ...

  3. 数据库自增ID用完了会怎么样?

    记一个数据库方面的面试题:数据库自增ID用完了会怎么样? MySQL中 int 类型是4个字节,如果是有符号,那就是 [ -2^31 , 2^31-1 ], 如果是无符号,那就是 [ -2^31 , ...

  4. centos环境tomcat配置SSL

    环境: centos7.9 tomcat9 jdk1.8 一.阿里云申请 免费SSL 按照官网的方法并未成功启动! 443 80端口加入安全组 阿里云申请免费ssl 下载后解压将localhost-r ...

  5. 【01】微服务(Microservice)是什么?为什么会出现微服务?

    微服务(Microservice)虽然是当下刚兴起的比较流行的新名词,但本质上来说,微服务并非什么新的概念. 实际上,很多 SOA(面向服务的架构)实施成熟度比较好的企业,已经在使用和实施微服务了.只 ...

  6. 开源相机管理库Aravis例程学习(二)——连续采集multiple-acquisition-main-thread

    目录 简介 例程代码 函数说明 arv_camera_set_acquisition_mode arv_camera_create_stream arv_camera_get_payload arv_ ...

  7. 重新整理.net core 计1400篇[二] (.net core 改造控制台项目)

    前言 为.net core 命令行的基础上写的,如果有兴趣的话,可以去看我的.net core 前文. 下面介绍如何将.net core控制台转换为.net core web应用. 正文 如果我们要实 ...

  8. C++ 递归与面向对象编程基础

    C++ 递归 递归是一种使函数调用自身的技术.这种技术提供了一种将复杂问题分解为简单问题的方法,从而更容易解决问题. 递归可能有点难以理解.理解其工作原理的最佳方法是通过实验来尝试. 递归示例 将两个 ...

  9. 力扣20(java)-有效的括号(简单)

    题目: 给定一个只包括 '(',')','{','}','[',']' 的字符串 s ,判断字符串是否有效. 有效字符串需满足: 左括号必须用相同类型的右括号闭合.左括号必须以正确的顺序闭合.每个右括 ...

  10. 科普达人丨一图看懂阿里云ECS

    简介: 建议收藏  原文链接:https://click.aliyun.com/m/1000363154/ 本文为阿里云原创内容,未经允许不得转载.