Bootstrap

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文件夹里面的代码.

 

如有侵权,请联系小编

转载于:https://my.oschina.net/u/3850288/blog/2054506

;