在word文件中,虽然也有表格。可是有时咱们想要将Excel中表格的大量数据直接插入到word文档中,这就须要用到word的插入对象的功能,也就是直接将Excel文件当作对象插入到word中。javascript
本地的word插入Excel操做很简单,就是直接插入—对象—选择相应的Excel文件便可。html
那么想要在线打开word文档的同时,将指定的Excel文档插入到指定的word文档的指定位置中,要怎么办呢?这须要开发者具有将activex控件集成到Java环境的能力。对于大部分Java开发工程师来讲,仅仅解决单一的功能就要掌握activex控件,未免学习成本太大。java
因此咱们今天就要介绍一个中间件技术——pageoffice,此中间件技术已经将 在web系统操做office文档的大部分功能整合完毕,你们只须要关注本身web系统的业务逻辑便可,学习成本低,且功能很丰富。下面咱们来实战用pageoffice实现一下在word中插入Excel对象的功能。jquery
文档里面的Excel表格就是经过pageoffice插入到word文档里的Excel对象。 web
去刚才下载的集成文件中找到lib,将里面的内容放在项目web-inf的lib中引入jar包,而后将web.xml的pageoffice配置引入到本身项目的wb.xml中编程
写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标签 app
<a href="javascript:POBrowser.openWindowModeless('Word.jsp' , 'width=1200px;height=800px;');">后台编程插入Excel文件到数据区域</a>
<%@ page language="java" import="java.util.*,com.zhuozhengsoft.pageoffice.*,com.zhuozhengsoft.pageoffice.wordwriter.*" pageEncoding="utf-8"%> <% //******************************卓正PageOffice组件的使用******************************* PageOfficeCtrl poCtrl1 = new PageOfficeCtrl(request); poCtrl1.setServerPage(request.getContextPath()+"/poserver.zz"); //此行必须 WordDocument worddoc = new WordDocument(); //先在要插入word文件的位置手动插入书签,书签必须以“PO_”为前缀 //给DataRegion赋值,值的形式为:"[word]word文件路径[/word]、[excel]excel文件路径[/excel]、[image]图片路径[/image]" DataRegion data1 = worddoc.openDataRegion("PO_p1"); data1.setValue("[excel]1.xls[/excel]"); poCtrl1.setWriter(worddoc); poCtrl1.webOpen("test.doc", OpenModeType.docNormalEdit, "张三"); %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>后台编程插入excel文件到数据区域(企业版)</title> </head> <body> <div style="width: auto; height: 700px;"> <!--************** PageOffice 客户端代码开始 ************************--> <%=poCtrl1.getHtmlCode("PageOfficeCtrl1")%> <!--************** PageOffice 客户端代码结束 ************************--> </div> </body> </html>
新建一个名为test.doc的word文件(若是新建的是docx文件就将第三步的poCtrl1.webOpen("test.doc", OpenModeType.docNormalEdit, "张三");代码改成poCtrl1.webOpen("test.docx", OpenModeType.docNormalEdit, "张三");less
新建一个名为1.xls的Excel文件(若是新建的是xlsx文件就将第三步中的data1.setValue("[excel]1.xls[/excel]");代码改成data1.setValue("[excel]1.xlsx[/excel]");)webapp
能够在1.xls文件中填写一些数据以供测试。
将新建的两个文件放在word.jsp同级目录下。
打开项目中刚才放置进去的test.doc文件,在想要插入Excel文档对象的位置添加一个书签,名称必须PO_开头,好比咱们设置为PO_p1
若是咱们添加的书签名是PO_p2 那就将第三步中的代码 DataRegion data1 = worddoc.openDataRegion("PO_p1");改成DataRegion data1 = worddoc.openDataRegion("PO_p2");
刚开始接触pageoffice的话,也能够看视频快速上手.http://www.zhuozhengsoft.com/Technical/