Java 添加、讀取、刪除和重置Excel圖片

在日常編輯Excel文檔時(shí),大多數(shù)時(shí)候都是對(duì)數(shù)據(jù)進(jìn)行統(tǒng)計(jì)與分析,但有時(shí)也不可避免會(huì)遇到需要添加圖片到文檔的情況,以此來使數(shù)據(jù)與圖片相結(jié)合,進(jìn)而達(dá)到使文檔內(nèi)容更加豐滿和多樣的效果。本文將通過使用Java程序來演示如何添加、讀取、刪除和重置Excel中的圖片。

使用工具:Free Spire.XLS for Java(免費(fèi)版)

Jar文件獲取及導(dǎo)入:

方法1通過官網(wǎng)下載獲取jar包。解壓后將lib文件夾下的Spire.Xls.jar文件導(dǎo)入Java程序。(如下圖)


方法2通過maven倉(cāng)庫(kù)安裝導(dǎo)入。具體安裝詳情參見此網(wǎng)頁

【示例1】添加圖片

import com.spire.xls.ExcelPicture;

import com.spire.xls.ExcelVersion;

import com.spire.xls.Workbook;

import com.spire.xls.Worksheet;

public class AddImage {

public?static void main(String[] args) {

//創(chuàng)建Workbook實(shí)例

??????? Workbook workbook = new Workbook();

//加載Excel文檔

??????? workbook.loadFromFile("C:\\Users\\Test1\\Desktop\\Sample.xlsx");

//獲取第一張工作表

??????? Worksheet sheet = workbook.getWorksheets().get(0);

//添加圖片到工作表的指定位置

??????? ExcelPicture pic = sheet.getPictures().add(20, 1,"C:\\Users\\Test1\\Desktop\\Image.jpg");

//設(shè)置圖片的寬度和高度

??????? pic.setWidth(400);

??????? pic.setHeight(300);

//保存文檔

??????? workbook.saveToFile("output/InsertImage.xlsx", ExcelVersion.Version2013);

??? }

}

?圖片添加效果:

【示例2】讀取圖片

import com.spire.xls.ExcelPicture;

import com.spire.xls.Workbook;

import com.spire.xls.Worksheet;

import javax.imageio.ImageIO;

import java.awt.image.BufferedImage;

import java.io.File;

import java.io.IOException;

public class ReadImage {

public static void main(String[] args) throws IOException {

//創(chuàng)建Workbook實(shí)例

??????? Workbook workbook = new Workbook();

//加載Excel文檔

??????? workbook.loadFromFile("C:\\Users\\Test1\\Desktop\\InsertImage.xlsx");

//獲取第一張工作表

??????? Worksheet sheet = workbook.getWorksheets().get(0);

//獲取工作表中第一張圖片并保存到指定路徑

??????? ExcelPicture pic = sheet.getPictures().get(0);

??????? BufferedImage loImage = pic.getPicture();

??????? ImageIO.write(loImage,

"jpg",new File("output/ReadImage.jpg"));

??? }

}

圖片讀取效果:


【示例3】刪除圖片

import com.spire.xls.*;

public class DeleteImage {

public static void main(String[] args) {

//加載示例文檔

??????? Workbook workbook = new Workbook();

??????? workbook.loadFromFile("C:\\Users\\Test1\\Desktop\\InsertImage.xlsx");

//獲取第一個(gè)工作表

??????? Worksheet sheet = workbook.getWorksheets().get(0);

//獲取第一張圖片

??????? ExcelPicture pic = sheet.getPictures().get(0);

//刪除圖片

??????? pic.remove();

//保存文檔

????? ??workbook.saveToFile("output/RemoveImage.xlsx");

??????? workbook.dispose();

??? }

}

圖片刪除效果:


【示例4】重置圖片大小和位置

import com.spire.xls.*;

public class ResetPosition {

public static void main(String[] args) {

//加載示例文檔

??????? Workbook workbook = new Workbook();

??????? workbook.loadFromFile("C:\\Users\\Test1\\Desktop\\InsertImage.xlsx");

//獲取第一個(gè)工作表

??????? Worksheet sheet = workbook.getWorksheets().get(0);

//獲取第一張圖片

??????? ExcelPicture pic = sheet.getPictures().get(0);

//重置大小

??????? pic.setHeight(150);

??????? pic.setWidth(200);

//重置位置

??????? pic.setLeft(400);

??????? pic.setTop(400);

//保持文檔

??????? workbook.saveToFile("output/ResetPosition.xlsx");

??????? workbook.dispose();

??? }

}

圖片重置效果:


(本文完)

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容