`
妮子321
  • 浏览: 84558 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Java语言如何将word表格中的数据取出来存放数据库

阅读更多

前言:

我们大家都知道,在Java的环境中进行office的操作是需要office的接口来实现的.目前比较流行的解决方案有POI和openoffice.首先说POI方案,它的功能局限性很大,对于excel的读取和写入挺方便,但是在对word文档操作功能显的很鸡肋.其次是openoffice,功能比POI强大,但是对于word的操作能力依然很有限,且部署麻烦,学习成本较高,文档格式易错乱.

今天我给大家介绍一款在网页上操作office如同在本地操作office一样便利且强大的中间件技术——pageoffice.

先看效果

可以看到office的工具栏和本地的功能一模一样,因为此中间件技术就是直接将客户端本地的office软件进行封装搬到了页面上.

如何集成(复制粘贴只需6步)

   1.官网下载pageoffice(http://www.zhuozhengsoft.com/dowm/).

  2.去刚才下载的集成文件中找到lib,将里面的内容放在项目web-inf的lib中引入jar包,然后将web.xml的pageoffice配置引入到自己项目的wb.xml中

  3.在父页面aaa.jsp(需要打开文档的页面)放一个a标签或者button

写button之前先引入pageoffice需要的js文件

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

然后添加a标签

<a href="javascript:POBrowser.openWindowModeless('Word.jsp', 'width=1050px;height=900px;','id=er');">最简单在线打开保存Word文件(URL地址方式)</a>

  4.在父页面同级目录下创建一个Word.jsp文件

  1.  
    <%@ page language="java" import="java.util.*, java.awt.*" pageEncoding="utf-8"%>
  2.  
    <%@page import="com.zhuozhengsoft.pageoffice.*, com.zhuozhengsoft.pageoffice.wordwriter.*"%>
  3.  
    <%
  4.  
    //***************************卓正PageOffice组件的使用********************************
  5.  
     
  6.  
     
  7.  
    PageOfficeCtrl poCtrl = new PageOfficeCtrl(request);
  8.  
     
  9.  
    //添加自定义按钮
  10.  
    poCtrl.addCustomToolButton("保存", "Save", 1);
  11.  
     
  12.  
    //设置服务器页面
  13.  
    poCtrl.setServerPage(request.getContextPath()+"/poserver.zz"); //此行必须
  14.  
    //设置保存页
  15.  
    poCtrl.setSaveDataPage("SaveData.jsp");
  16.  
    //设置文档打开方式
  17.  
    poCtrl.webOpen("test.doc", OpenModeType.docSubmitForm, "张佚名");
  18.  
    %>
  19.  
     
  20.  
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  21.  
    <html>
  22.  
    <head>
  23.  
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
  24.  
    <title>数据区域提交表格</title>
  25.  
    <link href="images/csstg.css" rel="stylesheet" type="text/css" />
  26.  
     
  27.  
    </head>
  28.  
    <body>
  29.  
     
  30.  
     
  31.  
    <div id="content">
  32.  
    <div id="textcontent" style="width: 1000px; height: 800px;">
  33.  
     
  34.  
     
  35.  
    <script type="text/javascript">
  36.  
    //保存页面
  37.  
    function Save() {
  38.  
    document.getElementById("PageOfficeCtrl1").WebSave();
  39.  
    }
  40.  
     
  41.  
     
  42.  
    </script>
  43.  
     
  44.  
    <!--************** 卓正 PageOffice组件 ************************-->
  45.  
    <%=poCtrl.getHtmlCode("PageOfficeCtrl1")%>
  46.  
    </div>
  47.  
    </div>
  48.  
     
  49.  
    </body>
  50.  
    </html>

  5.在父页面同级目录下创建一个SaveData.jsp文件(演示直接在页面将取出的word中的数据输出到页面,也可以直接保存至数据库)

  1.  
    <%@ page language="java"
  2.  
    import="java.util.*,com.zhuozhengsoft.pageoffice.*,com.zhuozhengsoft.pageoffice.wordreader.*"
  3.  
    pageEncoding="utf-8"%>
  4.  
    <%
  5.  
    //----------- PageOffice 服务器端编程开始(可以直接放在三层架构后台代码中) -------------------//
  6.  
    WordDocument doc = new WordDocument(request,response);
  7.  
    DataRegion dataReg = doc.openDataRegion("PO_table");
  8.  
    Table table = dataReg.openTable(1);
  9.  
     
  10.  
    //输出提交的table中的数据(取出来的数据也可以直接保存至数据库)
  11.  
    out.print("表格中的各个单元的格数据为:<br/><br/>");
  12.  
    StringBuilder dataStr = new StringBuilder();
  13.  
    for (int i = 1; i <= table.getRowsCount(); i++)
  14.  
    {
  15.  
    dataStr.append("<div style='width:220px;'>");
  16.  
    for (int j = 1; j <= table.getColumnsCount(); j++)
  17.  
    {
  18.  
    dataStr.append("<div style='float:left;width:70px;border:1px solid red;'>"+table.openCellRC(i,j).getValue()+"</div>");
  19.  
    }
  20.  
    dataStr.append("</div>");
  21.  
    }
  22.  
    out.print(dataStr.toString());
  23.  
     
  24.  
    //向客户端显示提交的数据
  25.  
    doc.showPage(300, 300);
  26.  
    doc.close();
  27.  
    %>
  28.  
     
  29.  
     
  30.  
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  31.  
    <html>
  32.  
    <head>
  33.  
     
  34.  
    <title>My JSP 'SaveFile.jsp' starting page</title>
  35.  
     
  36.  
    <meta http-equiv="pragma" content="no-cache">
  37.  
    <meta http-equiv="cache-control" content="no-cache">
  38.  
    <meta http-equiv="expires" content="0">
  39.  
    <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
  40.  
    <meta http-equiv="description" content="This is my page">
  41.  
    <!--
  42.  
    <link rel="stylesheet" type="text/css" href="styles.css">
  43.  
    -->
  44.  
     
  45.  
    </head>
  46.  
     
  47.  
    <body>
  48.  
    </body>
  49.  
    </html>

  6.将samples4文件夹下dataregionTable文件夹下doc文件夹里的test.doc文件放在父页面同级目录下.然后启动项目直接访问aaa.jsp点击链接.此时会提示安装插件,点击安装成功后提示注册,填写相关信息,填写注册码CA1XB-MF7Y-12ST-PSBP2就可以打开文档.然后保存文档后文档中的数据就会提交至后台.

  注意:这些只是演示级代码,大家可以去pageoffice官网下载示例代码直接将samples4文件夹扔到Tomcat的webapps下,启动Tomcat,浏览器访问http://localhost:8080/Samples/index.html,查看示例中的下面一个链接,直接看samples4文件夹下dataregionTable文件夹里面的代码.

 

如有侵权,请联系小编

分享到:
评论

相关推荐

    Java操作Word模板实现动态数据输出

    当前,大多数单位倾向于将数据存储在数据库中,并通过网络对外发布部分公共信息。然而,在实际工作中,有时候还需要将这些数据库中的数据以常见文件格式(例如Word文档)的形式进行展示或编辑。例如,人事部门可能...

    java操作excel中的sheet和word中的表格,导入mysql

    在IT行业中,Java是一种广泛应用的编程语言,尤其在处理数据操作...通过以上步骤,我们可以实现Java对Excel和Word表格的读写,以及将数据导入MySQL数据库的功能。这在数据处理、报告生成、自动化工具等领域有广泛应用。

    java导出word

    在现代企业级应用开发中,经常需要将数据库中的数据导出为Word文档,以满足业务报告、统计报表等多种需求。Java作为一种广泛使用的编程语言,在处理这类任务时具有天然的优势。本文将详细介绍如何利用Java结合...

    java开源包6

    利用JoSQL可以像操作数据库中的数据一样对任何Java对象集进行查询,排序,分组。 搜索自动提示 Autotips AutoTips是为解决应用系统对于【自动提示】的需要(如:Google搜索), 而开发的架构无关的公共控件, 以满足该类...

    java开源包4

    利用JoSQL可以像操作数据库中的数据一样对任何Java对象集进行查询,排序,分组。 搜索自动提示 Autotips AutoTips是为解决应用系统对于【自动提示】的需要(如:Google搜索), 而开发的架构无关的公共控件, 以满足该类...

    java开源包9

    利用JoSQL可以像操作数据库中的数据一样对任何Java对象集进行查询,排序,分组。 搜索自动提示 Autotips AutoTips是为解决应用系统对于【自动提示】的需要(如:Google搜索), 而开发的架构无关的公共控件, 以满足该类...

    java开源包101

    利用JoSQL可以像操作数据库中的数据一样对任何Java对象集进行查询,排序,分组。 搜索自动提示 Autotips AutoTips是为解决应用系统对于【自动提示】的需要(如:Google搜索), 而开发的架构无关的公共控件, 以满足该类...

    java开源包5

    利用JoSQL可以像操作数据库中的数据一样对任何Java对象集进行查询,排序,分组。 搜索自动提示 Autotips AutoTips是为解决应用系统对于【自动提示】的需要(如:Google搜索), 而开发的架构无关的公共控件, 以满足该类...

    java开源包8

    利用JoSQL可以像操作数据库中的数据一样对任何Java对象集进行查询,排序,分组。 搜索自动提示 Autotips AutoTips是为解决应用系统对于【自动提示】的需要(如:Google搜索), 而开发的架构无关的公共控件, 以满足该类...

    java开源包10

    利用JoSQL可以像操作数据库中的数据一样对任何Java对象集进行查询,排序,分组。 搜索自动提示 Autotips AutoTips是为解决应用系统对于【自动提示】的需要(如:Google搜索), 而开发的架构无关的公共控件, 以满足该类...

    java开源包1

    利用JoSQL可以像操作数据库中的数据一样对任何Java对象集进行查询,排序,分组。 搜索自动提示 Autotips AutoTips是为解决应用系统对于【自动提示】的需要(如:Google搜索), 而开发的架构无关的公共控件, 以满足该类...

    java开源包3

    利用JoSQL可以像操作数据库中的数据一样对任何Java对象集进行查询,排序,分组。 搜索自动提示 Autotips AutoTips是为解决应用系统对于【自动提示】的需要(如:Google搜索), 而开发的架构无关的公共控件, 以满足该类...

    Java资源包01

    利用JoSQL可以像操作数据库中的数据一样对任何Java对象集进行查询,排序,分组。 搜索自动提示 Autotips AutoTips是为解决应用系统对于【自动提示】的需要(如:Google搜索), 而开发的架构无关的公共控件, 以满足该类...

    java开源包2

    利用JoSQL可以像操作数据库中的数据一样对任何Java对象集进行查询,排序,分组。 搜索自动提示 Autotips AutoTips是为解决应用系统对于【自动提示】的需要(如:Google搜索), 而开发的架构无关的公共控件, 以满足该类...

    java开源包11

    利用JoSQL可以像操作数据库中的数据一样对任何Java对象集进行查询,排序,分组。 搜索自动提示 Autotips AutoTips是为解决应用系统对于【自动提示】的需要(如:Google搜索), 而开发的架构无关的公共控件, 以满足该类...

    java开源包7

    利用JoSQL可以像操作数据库中的数据一样对任何Java对象集进行查询,排序,分组。 搜索自动提示 Autotips AutoTips是为解决应用系统对于【自动提示】的需要(如:Google搜索), 而开发的架构无关的公共控件, 以满足该类...

    2021-2022计算机二级等级考试试题及答案No.17479.docx

    15. SQL数据操纵:SELECT是最常用的数据操纵语句,用于从数据库中查询数据。 16. 键盘连接:在计算机中,键盘通常通过串行接口与计算机连接。 17. SQL查询:使用LIKE操作符可以进行模糊查询,如在课程名称中查找...

    2021-2022计算机二级等级考试试题及答案No.3456.docx

    5. Word表格操作:在Word表格中,用户可以插入和删除单元格,以调整表格的结构。 6. 数据库应用系统设计:数据库应用系统设计中的核心问题通常是数据库设计,它涉及到数据模型、数据结构、索引设计等多个方面。 7....

Global site tag (gtag.js) - Google Analytics