Java向word文档中填充数据
程序员文章站
2024-03-23 13:24:22
...
对于中大型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文件
<script type="text/javascript" src="/jquery.min.js"></script>
<script type="text/javascript" src="/pageoffice.js" id="po_js_main"></script>
然后添加a标签
<a href="javascript:POBrowser.openWindowModeless('Word.jsp', 'width=1050px;height=900px;');">打开文档并填充数据</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, "张三");
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>简单的给Word文档中的数据区域赋值</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
</head>
<body>
<div style="width: auto; height: 700px;">
<%=poCtrl1.getHtmlCode("PageOfficeCtrl1")%>
</div>
</body>
</html>
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/
推荐阅读
-
java使用Aspose.word向word模板填充数据
-
Java向word文档中填充数据
-
JAVA 向数据库中插入数据并获取主键的方法(逐渐补充)
-
Java使用JDBC或MyBatis框架向Oracle中插入XMLType数据
-
Java使用JDBC或MyBatis框架向Oracle中插入XMLType数据
-
asp.net下用Aspose.Words for .NET动态生成word文档中的数据表格的方法
-
asp.net下用Aspose.Words for .NET动态生成word文档中的数据表格的方法
-
关于使用Hibernate向数据库中存取java对象 博客分类: BLOB,oracle Blobhibernatejava对象oracle
-
java将后台数据库查询到的数据导出word文档当中
-
『Word2007技巧』在文档库中动态管理业务数据