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/

相关文章
相关标签/搜索