Java 添加OLE對象到Excel文檔

本文介紹經過Java程序添加OLE對象到Excel文檔。OLE分爲兩種形式,一種經過嵌入(Embed),方式,一種經過連接(Link)方式。前者是將對象嵌入到文檔中,外部對該對象的更改不影響嵌入操做時的對象;後者是以連接形式來保存對象,外部任何對該對象的更改都會影響文檔。這裏的對象,支持多種不一樣類型(以下圖),如PDF、Word、Excel、PPT等常見格式的文檔類型。html

本文中的Java代碼示例以Word文檔爲對象經過嵌入方式添加到Excel工做表的指定單元格,代碼可供參考。java

工具:Free Spire.Office for Java (免費版)maven

注:jar文件獲取可經過官網下載,並解壓將lib文件夾下的Spire.Office.jar導入java程序,也可經過maven倉庫下載並導入工具

jar導入效果以下:url

Java 代碼示例

import com.spire.doc.documents.ImageType; import com.spire.xls.*; import com.spire.xls.core.IOleObject; import com.spire.doc.Document; import java.awt.*; import java.awt.image.BufferedImage; public class AddOLE { public static void main(String[] args) { //加載excel文檔
        Workbook wb = new Workbook(); wb.loadFromFile("test.xlsx"); //獲取第一個工做表
        Worksheet sheet = wb.getWorksheets().get(0); //獲取Word文檔圖片
        String docx = "sample.docx"; BufferedImage image = GetWordImage(docx); //插入OLE到工做表指定單元格
        IOleObject oleObject = sheet.getOleObjects().add(docx,image,OleLinkType.Embed);//插入指定類型的OLE
        oleObject.setLocation(sheet.getCellRange("A1"));//指定單元格
        oleObject.setObjectType(OleObjectType.WordDocument);//指定OLE對象類型(這裏可支持多種類型) //保存文檔
        wb.saveToFile("AddOLE.xlsx",ExcelVersion.Version2010); wb.dispose(); } //定義一個GetWordImage(string docxFile) 方法獲取圖片,這裏的圖片來自於Word文檔中的數據信息圖像,將OLE對象插入到Excel工做表後,這個圖像將顯示在Excel工做表中
    static BufferedImage GetWordImage(String docxFile) { //加載Word文檔
        Document doc = new Document(); doc.loadFromFile(docxFile); //將Word文檔的第一頁保存爲圖片
        Image olePicture = doc.saveToImages(0, ImageType.Bitmap); return (BufferedImage) olePicture; } }

OLE添加效果:spa

 

(本文完).net

相關文章
相關標籤/搜索