Java向word文档中填充数据

前言:
对于中大型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>

猜你喜欢

转载自blog.csdn.net/weixin_37904139/article/details/83901034
今日推荐