在日常編輯Excel文檔時,大多數(shù)時候都是對數(shù)據(jù)進行統(tǒng)計與分析镐躲,但有時也不可避免會遇到需要添加圖片到文檔的情況储玫,以此來使數(shù)據(jù)與圖片相結(jié)合,進而達到使文檔內(nèi)容更加豐滿和多樣的效果萤皂。本文將通過使用Java程序來演示如何添加撒穷、讀取、刪除和重置Excel中的圖片裆熙。
使用工具:Free Spire.XLS for Java(免費版)
Jar文件獲取及導(dǎo)入:
方法1:通過官網(wǎng)下載獲取jar包端礼。解壓后將lib文件夾下的Spire.Xls.jar文件導(dǎo)入Java程序。(如下圖)
方法2:通過maven倉庫安裝導(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實例
??????? 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實例
??????? 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");
//獲取第一個工作表
??????? 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");
//獲取第一個工作表
??????? 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();
??? }
}
圖片重置效果:
(本文完)