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/
相關推薦
Java向word中插入Excel檔案物件
前言: 在word檔案中,雖然也有表格。但是有時我們想要將Excel中表格的大量資料直接插入到word文件中,這就需要用到wo
java向word中插入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 用POI向word中寫入檔案
專案涉及到要向一個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
Java中向JFrame中插入圖片的程式碼
資料夾“影象”是與“src”同級的目錄檔案 package com.main; import javax.swing.ImageIcon; import javax.swing.JFrame; import javax.swing.JLabel; public class Exa
Java向word文件中填充資料
前言: 對於中大型OA系統來說,線上開啟word文件已經是一個常用需求。既然有線上操作word文件的需求,那就不可避免要有開啟文件時動態填充資料的需求。這篇文章就讓小編來介紹一箇中間件技術-pageoffice。 pageoffice對於word的功能做到了80%以上的封裝,而且api比較簡單容
通過JDBC向oracle資料庫中插入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
java中PreparedStatement解決需轉義字元向資料庫中插入時的轉義問題
簡單的執行如下語句去做資料庫的插入操作是有問題的!它處理不了單引號,雙引號等需要轉義的字元的插入問題! 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