1. 程式人生 > >Java向word文件中填充資料

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>