在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/