说明:使用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. #二分图匹配#UVA1194 Machine Schedule

    题目 有两台机器 \(A,B\) 分别有 \(n,m\) 种模式. 现在有 \(k\) 个任务.对于每个任务 \(i\) ,给定两个整数 \(a_i\) 和 \(b_i\)​, 表示如果该任务在 \( ...

  2. Jetty的http3模块

    启用http3模块,执行如下命令: java -jar $JETTY_HOME/start.jar --add-modules=http3 命令的输出,如下: ALERT: There are ena ...

  3. Windows系统自定义盘符图标

    记录一个小知识: 自定义Windows系统盘符的图标,其实这个东西很简单,就像设置U盘的图标一样 首先准备一张ico图片,如果没有ico图片,只有jpg或其他格式的,可以使用这个在线转ico的网站,把 ...

  4. 基于istio实现多集群流量治理

    本文分享自华为云社区<基于istio实现多集群流量治理>,作者: 可以交个朋友. 一 背景 对多云.混合云等异构基础设施的服务治理是Istio重点支持的场景之一.为了提高服务的可用性,避免 ...

  5. Unity-PC 端调用SpVoice语音 (文字转语音)

    第一步引用文件 在VS当中 点击项目->添加引用-> 搜索Microsoft Speech Objecet Library 然后选中前面的白色方块点击确定就行了 插入之后 你的引用库中会多 ...

  6. sweetviz工具避坑和简单使用

    网上关于sweetviz的文章比较少,有些坑这里说一下给大家避坑. 使用sweetviz遇到的错误如下: KeyError: "None of ['index'] are in the co ...

  7. 将项目封装进docker进行迁移和使用

    首先要理解docker的基本使用,本文不做过多阐述,博主也对docker没有了解透彻. 这里列一下docker的基本命令: docker info # 查看docker信息 docker -v # 查 ...

  8. tensorflow安装-【老鱼学tensorflow2】

    tensorflow版本已经升级到了2.x,其在易用性上大大增强,主要是由于API采用了keras的方式,大大简化了开发工作. 安装 pip3 install tensorflow 验证 输入如下代码 ...

  9. .netcore 使用Quartz定时任务

    这是一个使用 .NET Core 和 Quartz.NET 实现定时任务的完整示例.首先确保已经安装了 .NET Core SDK.接下来按照以下步骤创建一个新的控制台应用程序并设置定时任务: 创建一 ...

  10. 用百度和神策做埋点为何pv差异很大?

    近期ClkLog收到一个客户反馈说我们与百度统计的PV数据差异很大.为了验证问题,开发进行了一次对页面浏览量统计的测试.针对同一个IP同一个时间的页面浏览量统计发现,百度的统计数据只有一条,而ClkL ...