当前位置: 首页 > article >正文

麒麟V10、UOS系统实现在线合并多个Word文件

不管是将多个Word文件插入到Word模板指定位置,生成一个合并文档,还是将多个Word文档插入到一个空白的Word文件中,首尾连接成一篇文档,都需要用到PageOffice提供的数据区域插入Word文档功能。

在实际项目开发中,以下场景可能会用到Word多文件合并功能:

  • 起草合同 比如在一个Web项目的起草合同页面,可以选择合同模板,并填写此模板所需要的合同名称、甲乙双方单位名称、合同金额等合同相关信息,还可以选择A、B、C、D等合同条款项,每个合同条款中的内容都是保存在一个单独Word文件中。用户起草合同时,选择了合同模板,输入了合同的各项信息,并勾选了A、C两个条款项,实现自动生成合同的功能:把用户填写的合同信息动态插入到合同模板,并把A、C两个条款项的Word文件分别插入到合同模板的对应位置。
  • 生成可行性报告 比如公司准备研发某个产品,公司各个部门都需要准备自己的参考意见,市场部需要提供市场分析报告,研发部需要提供技术分析报告等,每个部门都编写了各自的调查分析报告Word文件,最后生成给领导查看的可行性报告文件时,就需要把各部门的报告分别插入到可行性报告中对应的章节里,合并成一篇Word文件。
  • 标书制作 比如在标书的制作过程中,可能单独有几个word文件,如标书主体文件、技术方案、成本估算等等,然后分别由不同人负责的,各自编辑,最后插入各项子文件到标书主体文件,合并成一个最终的标书文档。
  • 试卷生成 比如老师要编写一个试卷,试题库把每道试题都单独保存在一份Word文件中,并对应一条数据库记录,老师可以在网页上勾选题库中的试题,最后确认生成试卷时,把每道试题的Word文件都合并到同一个试卷的Word文档中。

本文就以“OA项目立项可行性分析报告”为例,说明一下PageOffice是如何使用Word合并功能实现生成可行性报告的。比如某员工编辑了可行性报告的主体文件,如下图所示。为了让功能描述更简单明了,文件中只使用了两个数据区域PO_Budget(项目预算分析)和PO_Design(项目架构设计)。 

比如开发部编辑的项目架构设计报告文档内容如下图所示:

财务部门负责制定的财务预算报告内容如下图格所示:

调用PageOffice的Word合并功能,把开发部编辑的项目架构设计文档插入到报告主体文件的数据区域PO_Design中,把财务部门负责制定的财务预算文档插入到数据区域PO_Budget中,生成的最终可行性报告如下图所示:

后端代码

调用PageOffice在线打开报告主体文件,比如:D:\BaoGao.docx,并动态插入项目架构设计文档(Design.docx)和财务预算文档(Budget.docx)到对应的数据区域中:

 PageOfficeCtrl poCtrl = new PageOfficeCtrl(request);

 WordDocumentWriter worddoc = new WordDocumentWriter();
 //“[word][/word]”标签的参数地址可以是“磁盘路径”,也可以是“文档url下载地址(不支持跨域)”
 worddoc.openDataRegion("PO_Design").setValue("[word]D:\\Design.docx[/word]");
 worddoc.openDataRegion("PO_Budget").setValue("[word]D:\\Budget.docx[/word]");

 poCtrl.setWriter(worddoc);//必须
 poCtrl.WebOpen("D:\\BaoGao.docx", OpenModeType.docNormalEdit, "张三");

前端代码

本功能无前端关键代码。

原链接:Word多文件合并 | PageOffice 开发者中心

国产系统演示视频:PageOffice国产版在数据区域插入word文档_哔哩哔哩_bilibili

 windows演示视频:PageOffice在数据区域插入Word文档_哔哩哔哩_bilibili


http://www.kler.cn/a/369562.html

相关文章:

  • C#笔记2
  • 【HTML 标签属性 的英文说明(中英文+ 学习计算机英语)】
  • arduino uno R3更换328pb-au芯片,烧录bootloader
  • Tangible Software Solutions 出品最准确可靠的源代码转换器
  • 【瑞吉外卖】-day01
  • K8s中TSL证书如何续期
  • MySQL 之 索引
  • Claude Financial Data Analyst:基于Claude的金融数据分析工具!免费开源!
  • 关于git上传文件冲突
  • 从docker中导出已经存在的容器
  • 【设计模式系列】适配器模式(九)
  • MySQL 8 下载与安装攻略
  • 第十届文荣奖华丽开幕,郁葱以青春与努力绽放青年演员光芒
  • 新手铲屎官提问,有哪几款噪音低的宠物空气净化器推荐
  • TypeScript-类型注解知识点详解
  • 驾校管理系统|基于java和小程序的驾校管理系统设计与实现(源码+数据库+文档)
  • ubuntu服务器离线安装pytorch(cpu版本)
  • Go Web开发登录功能实现
  • 【C++】哈希冲突的解决办法:闭散列 与 开散列
  • 学 Python 还是学 Java?——来自程序员的世纪困惑!
  • 求解亥姆霍兹方程
  • llama.cpp基础知识与原理导读
  • CSP/信奥赛C++刷题训练:经典二分例题(2):洛谷P1678:烦恼的高考志愿
  • 抖音矩阵系统开发的技术框架解析,支持OEM
  • CMakeLists.txt 编写规则
  • 【MySQL】实战篇—项目需求分析:如何进行需求分析与数据库设计