Java向word表格中添加新行並賦值

前言:
相信你們都有過操做word文檔表格的經歷,對於每行數據的記錄與操做是比較方便的。但這是不夠的,對於一些OA項目,則須要在線打開word文檔並經過後臺的設置將數據添加到word表格中,甚至對錶格進行添加新行的操做。這須要開發者具有將activex控件集成到Java環境的能力。對於大部分Java開發工程師來講,僅僅解決本身項目中的需求就要掌握activex控件,未免學習成本太大。javascript

因此咱們今天就要介紹一箇中間件技術——pageoffice,此中間件技術已經將 在web系統操做office文檔的大部分功能整合完畢,你們只須要關注本身web系統的業務邏輯便可,學習成本低,且功能很豐富。下面咱們來實戰用pageoffice實現一下用Java語言在線打開word文檔的同時,向word表格中添加新行並賦值的功能。html

先看效果:
此爲原始文檔java

下面是通過pageoffice後臺設置後頁面打開的文檔jquery

能夠看到文檔表格由原來的三行增長到了5行,而且經過後臺向相應的單元格中添加了相應的數據。web

 部署步驟(只需4步)
1.官網http://www.zhuozhengsoft.com/dowm/下載集成文件,引入jar包,配置web.xml瀏覽器


去剛纔下載的集成文件中找到lib,將裏面的內容放在項目web-inf的lib中引入jar包,而後將web.xml的pageoffice配置引入到本身項目的wb.xml中app

2.在父頁面aaa.jsp(須要打開文檔的頁面)放一個a標籤或者button
寫a標籤以前先引入pageoffice須要的js文件less

<script type="text/javascript" src="/jquery.min.js"></script>
<script type="text/javascript" src="/pageoffice.js" id="po_js_main"></script>


而後添加a標籤 webapp

<a href="javascript:POBrowser.openWindowModeless('WordTable.jsp' , 'width=1200px;height=800px;');">向Word文檔中的Table插入新行並賦值</a>

3.在父頁面同級目錄下建立一個名爲WordTable.jsp的文件

 

<a href="javascript:POBrowser.openWindowModeless('WordTable.jsp' , 'width=1200px;height=800px;');">向Word文檔中的Table插入新行並賦值</a>
3.在父頁面同級目錄下建立一個名爲WordTable.jsp的文件
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%@ page
    import="com.zhuozhengsoft.pageoffice.*,com.zhuozhengsoft.pageoffice.wordwriter.*"%>
<%
    PageOfficeCtrl poCtrl = new PageOfficeCtrl(request);
    WordDocument doc = new WordDocument();
    Table table1 = doc.openDataRegion("PO_T001").openTable(1);
 
    table1.openCellRC(1,1).setValue("PageOffice組件");
    int dataRowCount = 5;//須要插入數據的行數
    int oldRowCount = 3;//表格中原有的行數
    // 擴充表格
    for (int j = 0; j < dataRowCount - oldRowCount; j++)
    {
        table1.insertRowAfter(table1.openCellRC(2, 5));  //在第2行的最後一個單元格下插入新行
    }
    // 填充數據
    int i = 1;
    while (i <= dataRowCount)
    {   
        table1.openCellRC(i, 2).setValue("AA" + String.valueOf(i));
        table1.openCellRC(i, 3).setValue("BB" + String.valueOf(i));
        table1.openCellRC(i, 4).setValue("CC" + String.valueOf(i));
        table1.openCellRC(i, 5).setValue("DD" + String.valueOf(i));
        i++;
    }
    poCtrl.setWriter(doc);
    poCtrl.setServerPage(request.getContextPath()+"/poserver.zz");
    poCtrl.webOpen("test.doc", OpenModeType.docNormalEdit,"張佚名");
%>
 
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
    <head>
 
        <title>Word中的Table的數據填充</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: 750px;">
        <%=poCtrl.getHtmlCode("PageOfficeCtrl1")%>
        </div>
    </body>
</html>

4.新建文件
新建一個名爲test.doc的word文件(若是新建的是docx文件就將第三步的poCtrl.webOpen("test.doc", OpenModeType.docNormalEdit,"張佚名");代碼改成poCtrl.webOpen("test.docx", OpenModeType.docNormalEdit,"張佚名");jsp

將新建的test.doc文件放在WordTable.jsp同級目錄下。

本地打開test.doc文件,建立一個3行5列的表格,而後點擊表格左上角的全選標誌選中整個表格。

在整個表格選中的狀況下,點擊菜單欄插入-書籤--書籤名設置爲PO_T001--點擊添加。

而後啓動項目直接訪問aaa.jsp點擊連接.此時會提示安裝插件,點擊安裝成功後提示註冊,填寫相關信息,填寫註冊碼Q37LN-W8NI-KFSQ-LEY3Y就能夠打開文檔.
注意:若是須要更豐富的功能,你們能夠去pageoffice官網下載示例代碼直接將samples4文件夾扔到Tomcat的webapps下,啓動Tomcat,瀏覽器訪問http://localhost:8080/Samples4/index.html,查看示例中的下面一個連接,直接看samples4文件夾下WordTable文件夾裏面的代碼.

 

剛開始接觸pageoffice的話,也能夠看視頻快速上手http://www.zhuozhengsoft.com/Technical/

相關文章
相關標籤/搜索