前言:
对于中大型OA系统来说,在线打开word文档已经是一个常用需求。既然有在线操作word文档的需求,那就不可避免要有打开文档时动态填充数据的需求。这篇文章就让小编来介绍一个中间件技术-pageoffice。
pageoffice对于word的功能做到了80%以上的封装,而且api比较简单容易上手。
推荐像小编一样 只懂Java不懂VBA接口 不懂office程序调用的同学花10分钟学习一下。
先看效果
这里的“张三”和“销售部”就是由Java后台填充到word文档中的数据。
如何集成(复制粘贴只需5步)
1.官网下载pageoffice(http://www.zhuozhengsoft.com/dowm/).
2.去刚才下载的集成文件中找到lib,将里面的内容放在项目web-inf的lib中引入jar包,然后将web.xml的pageoffice配置引入到自己项目的web.xml中。
3.在父页面aaa.jsp(需要打开文档的页面)放一个a标签或者button
写a标签之前先引入pageoffice需要的js文件
然后添加a标签
4.在父页面同级目录下创建一个Word.jsp文件
<%@ page language="java"
import="java.util.*,com.zhuozhengsoft.pageoffice.*,com.zhuozhengsoft.pageoffice.wordwriter.*"
pageEncoding="utf-8"%>
<%
PageOfficeCtrl poCtrl1 = new PageOfficeCtrl(request);
poCtrl1.setServerPage(request.getContextPath()+"/poserver.zz"); //此行必须
WordDocument doc = new WordDocument();
//打开数据区域
DataRegion dataRegion1 = doc.openDataRegion("PO_aaa");
//给数据区域赋值
dataRegion1.setValue("张三");
poCtrl1.setWriter(doc);
//打开Word文件
poCtrl1.webOpen("test.doc", OpenModeType.docNormalEdit, "张三");
%>
<%=poCtrl1.getHtmlCode("PageOfficeCtrl1")%>
5.去桌面新建一个test.doc文件(如果新建的是test.docx文件,需要将第四步中的poCtrl1.webOpen代码的第一个参数改为"test.docx").打开文档随便编辑点内容,然后选中想要通过程序替换的文本,点击插入-书签,输入书签名为"PO_aaa"(与程序代码中的doc.openDataRegion("PO_aaa")相对应),点击添加,最后保存文件.别忘记把保存好的文件放在父页面同级目录下
然后启动项目直接访问aaa.jsp点击链接.此时会提示安装插件,点击安装成功后提示注册,填写相关信息,填写注册码CA1XB-MF7Y-12ST-PSBP2就可以打开文档,并且同时也会看到刚刚后台的"张三"也被填充到word文档中.
如果有更多的在线操作文档的需求,这里也有视频教程
http://www.zhuozhengsoft.com/Technical/
请参见卓正软件官网技术支持页面最下方,视频点开即可。