Java向word中插入Excel文件對象

前言:

在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

 部署步驟(只需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標籤 app

<a href="javascript:POBrowser.openWindowModeless('Word.jsp' , 'width=1200px;height=800px;');">後臺編程插入Excel文件到數據區域</a>

3.在父頁面同級目錄下建立一個名爲Word.jsp的文件

<%@ 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>

4.新建文件

新建一個名爲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同級目錄下。

5.添加書籤

打開項目中剛纔放置進去的test.doc文件,在想要插入Excel文檔對象的位置添加一個書籤,名稱必須PO_開頭,好比咱們設置爲PO_p1

若是咱們添加的書籤名是PO_p2  那就將第三步中的代碼 DataRegion data1 = worddoc.openDataRegion("PO_p1");改成DataRegion data1 = worddoc.openDataRegion("PO_p2");

而後啓動項目直接訪問aaa.jsp點擊連接.此時會提示安裝插件,點擊安裝成功後提示註冊,填寫相關信息,填寫註冊Q37LN-W8NI-KFSQ-LEY3Y就能夠打開文檔.
注意:若是須要更豐富的功能,你們能夠去pageoffice官網下載示例代碼直接將samples4文件夾扔到Tomcat的webapps下,啓動Tomcat,瀏覽器訪問http://localhost:8080/Samples4/index.html,查看示例中的下面一個連接,直接看samples4文件夾下WordResExcel文件夾裏面的代碼.

剛開始接觸pageoffice的話,也能夠看視頻快速上手.http://www.zhuozhengsoft.com/Technical/

相關文章
相關標籤/搜索