前言:
有时系统中需要提取各种文件中的数据,比如做报表的系统中就常常与Excel表格数据做交互。做Excel报表数据时有选择POI实现的,但是POI功能也很单一,对于文档格式维护性差,最重要的是POI在操作word数据时显得力不从心,所以对于word中数据的交互就要找找其他方式。其实对于文档的操作,微软有自己的一套东西——activex控件。
但是这需要开发者具备将activex控件集成到Java环境的能力。对于大部分Java开发工程师来说,仅仅解决单一的功能就要掌握activex控件,未免学习成本太大。
所以我们今天就要介绍一个中间件技术——pageoffice,此中间件技术已经将 在web系统操作office文档的大部分功能整合完毕,大家只需要关注自己web系统的业务逻辑即可,学习成本低,且功能很丰富。下面我们来实战用pageoffice实现一下用Java从word文档的表格中提取数据的功能。
先看效果:
打开的文档中有下面这么一个表格
点击保存,弹出了如下窗口,窗口中是word表格中的数据。这里只是为了演示,其实这些数据是在后台中拿到后然后又输出到页面中的,实际开发中拿到数据可以保存到数据库的。
部署步骤(只需5步)
1.官网http://www.zhuozhengsoft.com/dowm/下载集成文件,引入jar包,配置web.xml
去刚才下载的集成文件中找到lib,将里面的内容放在项目web-inf的lib中引入jar包,然后将web.xml的pageoffice配置引入到自己项目的wb.xml中
2.在父页面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标签