用pageOffice控件实现 office word文档在线编辑 表格中写数据的方法
PageOffice对Word文档中Table的操作,包括给单元格赋值和动态添加行的效果。
1 应用场景
OA办公中,经常要在文档的指定位置表格,填充后端指定数据。
如word文档中,表格数据 如下表格中
人员信息

怎么把后端的关键数据,填充到word文档表格中呢?
2 实现方法
文档中设置好书签,设置好表格后,通过后端调用pageOffice插件代码就可以实现。
3 实现过程
以java的springboot框架为例
1 集成pageOffice
https://www.zhuozhengsoft.com/dowm/

从pageOffice官网
下载页面,找到springboot的集成示例,按照里面的集成明说,可以集成到自己的springboot项目中。
2 设置数据区域 包含表格
数据区域的技巧
https://www.kancloud.cn/pageoffice_course_group/pageoffice_course/663125
最终效果如图
注意,一定要书签包含整个表格,并且还要包含表格上下一行

3 通过代码写入数据
@RequestMapping(value = "Word", method = RequestMethod.GET)
public ModelAndView showWord(HttpServletRequest request, Map<String, Object> map) {
PageOfficeCtrl poCtrl = new PageOfficeCtrl(request);
poCtrl.setServerPage(request.getContextPath() + "/poserver.zz");//设置服务页面
WordDocument doc = new WordDocument();
//打开数据区域
DataRegion dataRegion = doc.openDataRegion("PO_regTable");
//打开table,openTable(index)方法中的index代表Word文档中table位置的索引,从1开始
Table table = dataRegion.openTable(1);
//给table中的单元格赋值, openCellRC(int,int)中的参数分别代表第几行、第几列,从1开始
table.openCellRC(3, 1).setValue("A公司");
table.openCellRC(3, 2).setValue("开发部");
table.openCellRC(3, 3).setValue("李清");
//插入一行,insertRowAfter方法中的参数代表在哪个单元格下面插入一个空行
table.insertRowAfter(table.openCellRC(3, 3));
table.openCellRC(4, 1).setValue("B公司");
table.openCellRC(4, 2).setValue("销售部");
table.openCellRC(4, 3).setValue("张三");
poCtrl.setWriter(doc);
//隐藏菜单栏
poCtrl.setMenubar(false);
//隐藏自定义工具栏
poCtrl.setCustomToolbar(false);
//打开Word文档
poCtrl.webOpen("/doc/WordSetTable/test.doc", OpenModeType.docNormalEdit, "张三");
map.put("pageoffice", poCtrl.getHtmlCode("PageOfficeCtrl1"));
ModelAndView mv = new ModelAndView("WordSetTable/Word");
return mv;
通过以上代码,可以将数据库中的
A公司 开发部 李清
B公司 销售部 张三
写到文档中。
4 代码打开后的效果

5 总结
PageOffice对Word文档中Table的操作,包括给单元格赋值和动态添加行的效果。
转载:https://www.cnblogs.com/qingxue636/p/16944178.html
用pageOffice控件实现 office word文档在线编辑 表格中写数据的方法的更多相关文章
- 利用Aspose.Word控件和Aspose.Cell控件,实现Word文档和Excel文档的模板化导出
我们知道,一般都导出的Word文档或者Excel文档,基本上分为两类,一类是动态生成全部文档的内容方式,一种是基于固定模板化的内容输出,后者在很多场合用的比较多,这也是企业报表规范化的一个体现. 我的 ...
- 使用ABAP编程实现对微软Office Word文档的操作
SAP ABAP里提供了一个标准的类CL_DOCX_DOCUMENT,提供了本地以".docx"结尾的微软Office word文档的读和写操作. 本文介绍了ABAP类CL_DOC ...
- 新建 Microsoft Office Word 文档 来源:牛客网
题目 链接:https://ac.nowcoder.com/acm/contest/28886/1015 来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32768K,其 ...
- 在项目中利用TX Text Control进行WORD文档的编辑显示处理
在很多文档管理的功能模块里面,我们往往需要对WORD稳定进行展示.编辑等处理,而如果使用微软word控件进行处理,需要安装WORD组件,而且接口使用也不见得简单易用,因此如果有第三方且不用安装Offi ...
- asp.net 将word文档进行编辑并导出一个新的word
最近做项目,需要多word文档进行编辑并导出一个新的word,在最初的word编辑中留下特定的字符串用来替换,然后在本地生成一个新的word文档,并且不修改服务器中的word文档,这样才能保证服务器中 ...
- asp.net如何实现word文档在线预览
原文:asp.net如何实现word文档在线预览 实现方式:office文档转html,再在浏览器里面在线浏览 1.首先引入com组件中office库,然后在程序集扩展中引入word的dll 2.将M ...
- word文档在线预览解决方案
花了一整天在网上翻关于 “word文档在线预览解决方案” 相关的资料,感觉实现难度比较大还是用PDF来解决好了.. 下面列一下比较好的参考资料吧 参考资料 前端实现在线预览pdf.word.xls.p ...
- Office文档在线编辑的实现之二
讲述了如何通过iis的webdav支持实现客户端的office直接编辑服务器上的文件,本篇将讲解如何实现客户端的office直接编辑数据库中的二进制形式保存的office文件. 实现的关键:模拟IIS ...
- wps金山文档在线编辑--.Net 接入指南
一.申请成为服务商,对金山文档在线服务进行申请 ①进入官网 https://open.wps.cn/ ②申请后如下图,点击右下角的进入服务 ③申请成功后 ④数据回调URL一定是服务器地址,本次我使用的 ...
- ElasticSearch 学习记录之 分布式文档存储往ES中存数据和取数据的原理
分布式文档存储 ES分布式特性 屏蔽了分布式系统的复杂性 集群内的原理 垂直扩容和水平扩容 真正的扩容能力是来自于水平扩容–为集群添加更多的节点,并且将负载压力和稳定性分散到这些节点中 ES集群特点 ...
随机推荐
- #floyd,分治#D 路径之和
题目 对于每个\(y\),求除了\(y\)之外,其余的所有点组成的有序点对\((x,z)\) 不经过\(y\)的最短路长度之和(不存在即为-1).\(n\leq 320\) 分析 太妙了,首先用flo ...
- 数仓调优实战:GUC参数调优
本文分享自华为云社区<GaussDB(DWS)性能调优系列实战篇七:十八般武艺之GUC参数调优>,作者: 黎明的风. 1. 前言 适用版本:[8.1.1及以上] GaussDB(DWS)性 ...
- 3. Vector Spaces and Subspaces
3.1 Vector Spaces The space \(R^n\) consists of all colunm vectors \(v\) with n components. We can a ...
- 视频播放测试地址(MP4、M3U8 格式)
最近在开发视频播放相关的业务功能,开发测试时,需要涉及到 MP4.M3U8 等视频格式. 我每次找测试视频地址时,都要找很久,现在把我在网上收集到的 MP4.M3U8 格式视频地址放在这里,希望帮助到 ...
- sql 语句系列(记录时间差)[八百章之第十八章]
计算当前记录和下一条记录之间的日期差 关键点在于如何获得下一条日期. mysql 和 sql server select x.*,DATEDIFF(day,x.HIREDATE,x.next_hd) ...
- sql 语句系列(删库跑路系列)[八百章之第七章]
前言 最开心的章节,没有之一. 删除违反参照完整性的记录 EMP 是员工表,DEPT 是部门表 DEPTNO是部门编号 delete from EMP where not exists ( selec ...
- 重新整理linux 系列 ——硬件的介绍(一)
前言 打算重新整理linux,计划每天一更,希望能够按照计划执行吧. 正文 首先有一个疑惑,那就是一台手机是否是一台计算机? 来看下什么可以定义为一台计算机: 计算机为接收用户的输入,经由中央处理器的 ...
- Worker 进行多线程任务开发
概念介绍 在 OpenHarmony 中,UI 线程负责处理 UI 事件和用户交互,而 Worker 线程用于处理耗时操作,以提高应用程序的响应速度和用户体验. Worker 线程是与主线程并行的独立 ...
- Vue3实现图片滚轮缩放和拖拽
在项目开发中遇到一个需求: 1:用鼠标滚轮可对图片进行缩放处理 2:点击按钮可对图片进行缩放处理 3:可对图片进行拖拽处理 我在开发中通过自己实现与百度查看优秀的铁子进行了两种类型的使用 <te ...
- 当服务器间通讯出现No route to host(Host unreachable)
服务器间通讯出现No route to host(Host unreachable) 背景:因为某些原因,主机房服务器集体重启,其中部署的系统也需要重启,负责的系统是五台服务器,两台用来作为应用的应用 ...