PageOffice——动态填充Word模板并在线编辑
说明:使用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模板并在线编辑的更多相关文章
- [转载]Java动态填充word文档并上传到服务器
一. 需求背景 在一些特殊应用场合,客户希望在服务器上生成文档的同时并填充数据,客户端的页面不显示打开文档,但是服务器上生成文档对服务器压力很大,目前服务器上生成文档第一种就是方式是jacob, 但是 ...
- [原创]Java动态填充word文档并上传到服务器
一. 需求背景 在一些特殊应用场合,客户希望在服务器上生成文档的同时并填充数据,客户端的页面不显示打开文档,但是服务器上生成文档对服务器压力很大,目前服务器上生成文档第一种就是方式是jacob, 但是 ...
- 利用POI 技术动态替换word模板内容
项目中需要实现一个功能,动态替换给定模板里面的内容,生成word文档提供下载功能. 中间解决了问题有: 1.页眉的文档logo图片解决,刚开始的时候,HWPFDocument 对象无法读取图片对象(已 ...
- Office word excel电子表格在线编辑的实现方法
Office xp之后的版本支持通过webdav协议(http的扩展)直接编辑服务器上的文件. IIS(6.0)支持webdav,这在IIS管理器的web服务扩展中可以看到.利用IIS作为webdav ...
- .net core 使用NPOI填充Word模板导出Word
最近工作用到在Word模板插入数据库数据,导出一个带数据的Word文件,想起来之前操作Word都是用微软提供的Microsoft.Office.Interop.Word,而在最新的..NET CORE ...
- [转载]java向word模板中填充数据(总结)
使用过PageOffice动态生成word文档的人都知道,PageOffice可以给word文档的指定位置进行填充,这里我们所说的指定位置在PageOffice的专业术语里面有两个概念,一个叫做数据区 ...
- [原创]java向word模板中填充数据(总结)
使用过PageOffice动态生成word文档的人都知道,PageOffice可以给word文档的指定位置进行填充,这里我们所说的指定位置在PageOffice的专业术语里面有两个概念,一个叫做数据区 ...
- 在线编辑Word——插入图片、图形
在Word中支持插入图片.图形等元素,同时支持对插入的图片和图形进行格式化操作,如裁剪.调整尺寸大小.调成颜色.阴影.倾斜角度.透明度等等.本文,将通过使用Spire.Cloud Word在线编辑器来 ...
- word在线编辑\生成图片(包含截图与合并)
1.业务原因 word编辑后的文章复制到html编辑器(fck等)会发生排版错乱的情况,于是混沌了.需要有一个新的方法来终结,于是产生了word能不能在线编辑,后台保存,前台显示灯一系列问题. 2.首 ...
- 在线编辑Word——插入图表
在Word中可插入图表,配合使用表格能够更加全方位的展示数据的可信度并增加数据的可读性.本文将通过使用在线编辑器 Spire.Cloud Word 演示如何来插入图表,并设置相关格式化操作.具体步骤如 ...
随机推荐
- 战“码”先锋直播预告丨如何成为一名优秀的OpenHamrony贡献者?
OpenAtom OpenHarmony(以下简称"OpenHarmony")工作委员会首度发起「OpenHarmony开源贡献者计划」,旨在鼓励开发者参与OpenHarmony开 ...
- Java 包和 API 深度解析:组织代码,避免命名冲突
Java 包和 API Java 中的包 用于将相关的类分组在一起.可以将其视为文件目录中的一个文件夹.我们使用包来避免名称冲突,并编写更易于维护的代码. 包分为两类: 内置包(来自 Java API ...
- 将py文件编译成pyc
核心代码 import compileall compileall.compile_file("a.py", legacy=True, force=True) 演示步骤 1.新建 ...
- HarmonyOS音视频开发概述
在音视频开发指导中,将介绍各种涉及音频.视频播放或录制功能场景的开发方式,指导开发者如何使用系统提供的音视频API实现对应功能.比如使用TonePlayer实现简单的提示音,当设备接收到新消息时, ...
- 混合app 解决常见bug弹出键盘返回出现闪屏
前言 在我们开发混合app中,我们会发现一个问题,那就是比如我们正在输入信息的时候,然后我们按导航的返回键返回,因为切页面和回收键盘是同时的,给人一种闪屏的感觉,那么怎么解决呢? 方案 以ionic为 ...
- python实现:有一个列表为num_list,找到一个具有最大和的连续子列表,返回其最大和。
# 有一个列表为num_list,找到一个具有最大和的连续子列表,返回其最大和.# 示例:# 输入: [-3,1,-1,6,-1,2,4,-5,4]# 输出: 11# 解释: 连续子数组 [6,-1, ...
- NL2SQL技术方案系列(1):NL2API、NL2SQL技术路径选择;LLM选型与Prompt工程技巧,揭秘项目落地优化之道
NL2SQL技术方案系列(1):NL2API.NL2SQL技术路径选择:LLM选型与Prompt工程技巧,揭秘项目落地优化之道 NL2SQL基础系列(1):业界顶尖排行榜.权威测评数据集及LLM大模型 ...
- 【c++】类valarray介绍
valarray类用于处理数组中的数值,如将所有元素相加,找出最大.最小值,数组长度. 如何使用valarray类: 1.首先需要声明头文件 #include<valarray&g ...
- Spring 源码阅读(一)环境搭建
注意事项: 使用 2024-03-14 发布的 Spring 5.3.33 版本 IDE 工具使用了 Intellij IDEA,同时为了简化不必要的内容没单独配置 Gradle 环境 JDK 版本采 ...
- HL7消息类型
HL7消息有很多不同的类型,每种都有其自己的独特用途和消息内容.以下是常见的HL7消息类型的列表. Message Type Description HL7 ADT Admit, Discharge ...