1. 程式人生 > >Java向word中插入Excel檔案物件

Java向word中插入Excel檔案物件

前言:

在word檔案中,雖然也有表格。但是有時我們想要將Excel中表格的大量資料直接插入到word文件中,這就需要用到word的插入物件的功能,也就是直接將Excel檔案當做物件插入到word中。

本地的word插入Excel操作很簡單,就是直接插入—物件—選擇相應的Excel檔案即可。

那麼想要線上開啟word文件的同時,將指定的Excel文件插入到指定的word文件的指定位置中,要怎麼辦呢?這需要開發者具備將activex控制元件整合到Java環境的能力。對於大部分Java開發工程師來說,僅僅解決單一的功能就要掌握activex控制元件,未免學習成本太大。

所以我們今天就要介紹一箇中間件技術——pageoffice,此中介軟體技術已經將 在web系統操作office文件的大部分功能整合完畢,大家只需要關注自己web系統的業務邏輯即可,學習成本低,且功能很豐富。下面我們來實戰用pageoffice實現一下在word中插入Excel物件的功能。

先看效果:

文件裡面的Excel表格就是通過pageoffice插入到word文件裡的Excel物件。 

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

<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, "張三");

新建一個名為1.xls的Excel檔案(如果新建的是xlsx檔案就將第三步中的data1.setValue("[excel]1.xls[/excel]");程式碼改為data1.setValue("[excel]1.xlsx[/excel]");)

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

相關推薦

Javaword插入Excel檔案物件

前言: 在word檔案中,雖然也有表格。但是有時我們想要將Excel中表格的大量資料直接插入到word文件中,這就需要用到wo

javaword插入Excel附件

1、word中插入物件的原理 編輯word,向word中插入圖片、EXCEL、WORD等附件,再將word儲存為xml格式,通過XML檢視工具開啟xml格式的word的原始碼,通過對比原始碼, 可以發現平時我們在編輯word時,向word中插入插入圖片,EXCEL,word等附件時,實際上是將附件以Bas

java/poi讀取word,並替換word的文字內容,word插入圖片的操作

先貼程式碼,注:部分程式碼源自網路其他前輩的文章,這裡只是做一個功能整合。 package fcjTool; import java.io.IOException; import java.io.InputStream; import org.ap

Word插入Excel對象

sin class leo sha this col tof style documents 1 using Word = NetOffice.WordApi; 2 3 Word.Document doc = this._wordApplication.Docum

java陣列插入元素

/** * * @Title: test_insert_array * @Description: 該方法的主要作用:像陣列中插入元素 * @param 設定檔案 * @retu

C#操作Word(8)—— Word插入圖表的三種方法(一)

一、 前言         本文主要介紹向word中插入圖表的方法。方法共有三種,每一種都有自己的適用範圍和利弊。介紹之前,我們準備實驗用的文件,做一個如下圖所示的word模板,我們要做的的是在這個名叫chart的書籤中插入一個圖表,下面然後我將逐一進行介紹這三種方法:

java 用POIword寫入檔案

專案涉及到要向一個word中插入一段文字,用到了apache的POI元件,可以很流暢地向已有word中寫入文字。 (這裡只是向word末尾加文字,不支援指定位置插入) 首先要下載apache POI的jar們,下載地址:https://poi.apache.org/down

vc如何輸出的word插入圖片

vda rtl ogg cnblogs sin hgj 如何 uda zrm 侵炕繳i9cjd鉸刑舅http://jz.docin.com/juda88914遊幽紙rtl5u堪技蹈http://jz.docin.com/sina_6372925266八且炔3xh9x鋼逼攘h

JavaJFrame插入圖片的程式碼

資料夾“影象”是與“src”同級的目錄檔案  package com.main; import javax.swing.ImageIcon; import javax.swing.JFrame; import javax.swing.JLabel; public class Exa

Javaword文件填充資料

前言: 對於中大型OA系統來說,線上開啟word文件已經是一個常用需求。既然有線上操作word文件的需求,那就不可避免要有開啟文件時動態填充資料的需求。這篇文章就讓小編來介紹一箇中間件技術-pageoffice。 pageoffice對於word的功能做到了80%以上的封裝,而且api比較簡單容

通過JDBCoracle資料庫插入Clob大物件

好記性不如爛筆頭,今天剛剛學過Clob的插入和查詢,寫篇部落格,以備後用 首先建立一個包含大物件的表 create table data( id varchar2(20), content clob ); 然後通過JDBC連線資料庫並插入Clob

java mybatis 關於資料庫插入資料時,報錯java.lang.NullPointerException的問題

今天在實現向MySQL的資料庫insert一個Object資料時出現一個錯誤; org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.exceptio

javaPreparedStatement解決需轉義字元資料庫插入時的轉義問題

簡單的執行如下語句去做資料庫的插入操作是有問題的!它處理不了單引號,雙引號等需要轉義的字元的插入問題! String sql = "insert into emailOriginal(id,date,subject,source,target" +") value(\""

關於java資料庫插入資料時,報錯Caused by: java.lang.NullPointerException的問題

今天在實現一個update資料時出現一個錯誤; org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.exceptions.PersistenceException:

java 已存在的excel追加資料

package createExcel; import java.io.FileInputStream; import java.io.FileOutputStream; import org.ap

Mysql亂碼問題; 在java資料庫插入資料出現亂碼

1.Mysql亂碼問題 產生亂碼的原因: 編碼和解碼不一致; 檢視字符集 `show variables like ‘character_set_%’; 發現聯結器connection的編碼是utf8,伺服器的編碼是latin1;將伺服器的編碼

C#實現已存在的Excel檔案寫入資料例項(兩種方法)

 //新增引用 using Excel = Microsoft.Office.Interop.Excel; using System.Reflection; 方法一:將識別結果寫入到Excel表格中(根據指定模版寫入,並將其以當前儲存時間命名另存)            

怎樣在mybatis裏mysql插入毫秒數的時間?

問題 gin 開始 myba table 使用 可讀性 null tab   由於業務場景需求,需要記錄精準的時間,但是呢,又不要想使用int類型來存儲時間,因為這樣的可讀性比較差了。   怎樣在mybatis中向數據庫插入毫秒級別的時間呢?   首先,先來看看怎樣向數據庫

使用C#實現在word插入頁眉頁腳的方法

spa dex arp false datatable fault prev lec 幫助 針對Word的操作是很多程序都具備的功能,本文即以實例展示使用C#實現在word中插入頁眉頁腳的方法,供大家參考借鑒,具體方法如下: 一、插入頁腳的方法: public void

HTML插入視頻有兩種方法

rip 新版 服務 解決 all top 解決方案 5.0 ref 向HTML中插入視頻有兩種方法,一種是古老的object標簽,一種是html5中的video標簽,前者兼容性相對好些,後者兼容性讓人頭疼。最常用的向HTML中插入視頻的方法有兩種,一種是古老的<obj