Java實(shí)現(xiàn)添加,讀取和刪除Excel圖片的方法詳解
介紹
本文介紹在Java程序中如何添加圖片到excel表格,添加圖片時(shí)可設(shè)置圖片大小、位置、旋轉(zhuǎn)、超鏈接、可選文本等,以及如何讀取、刪除excel表格中已有的圖片。
工具:Free Spire.XLS for Java (免費(fèi)版)
注:可通過官網(wǎng)下載包,并解壓將lib文件夾下的jar文件導(dǎo)入java程序;或者通過maven倉庫下載導(dǎo)入。
Jar導(dǎo)入效果:

Java 代碼示例
示例1添加圖片
import com.spire.xls.*;
public class AddImage {
public static void main(String[] args) {
//加載文檔
Workbook wb = new Workbook();
wb.loadFromFile("test.xlsx");
//獲取工作表
Worksheet sheet = wb.getWorksheets().get(0);
//添加圖片
ExcelPicture picture = sheet.getPictures().add(7,2,"tp.png");
picture.setHeight(270);//設(shè)置圖片高度
picture.setWidth(550);//設(shè)置圖片寬度
picture.setRotation(20);//設(shè)置圖片旋轉(zhuǎn)角度
picture.setAlternativeText("Picture1");//設(shè)置圖片可選文本
picture.setHyperLink("http://www.baidu.com",true);//添加超鏈接到圖片
//保存文檔
wb.saveToFile("AddImage.xlsx", ExcelVersion.Version2010);
wb.dispose();
}
}圖片添加效果:

示例2讀取圖片
import com.spire.xls.*;
import javax.imageio.ImageIO;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
public class ExtractImage {
public static void main(String[] args) throws IOException {
//加載文檔
Workbook wb = new Workbook();
wb.loadFromFile("AddImage.xlsx");
//獲取第一張工作表
Worksheet sheet = wb.getWorksheets().get(0);
//獲取工作表中第一張圖片并保存到指定路徑
ExcelPicture pic = sheet.getPictures().get(0);
BufferedImage loImage = pic.getPicture();
ImageIO.write(loImage,"jpg",new File("ExtractedImage.jpg"));
}
}圖片讀取結(jié)果:

示例3刪除圖片
import com.spire.xls.*;
public class RemoveImage {
public static void main(String[] args) {
//加載文檔
Workbook wb = new Workbook();
wb.loadFromFile("AddImage.xlsx");
//獲取指定工作表
Worksheet sheet = wb.getWorksheets().get(0);
//獲取指定圖片,刪除
sheet.getPictures().get(0).remove();
//保存文檔
wb.saveToFile("RemoveImage.xlsx",ExcelVersion.Version2010);
wb.dispose();
}
}運(yùn)行程序后,生成的文件可查看圖片刪除效果。
到此這篇關(guān)于Java實(shí)現(xiàn)添加,讀取和刪除Excel圖片的方法詳解的文章就介紹到這了,更多相關(guān)Java添加 讀取 刪除Excel圖片內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Java中instanceOf關(guān)鍵字的用法及特性詳解
當(dāng)我們在進(jìn)行向下轉(zhuǎn)型時(shí),如果兩個(gè)對象之間沒有直接或間接的繼承關(guān)系,在轉(zhuǎn)換時(shí)有可能會(huì)產(chǎn)生強(qiáng)制類型轉(zhuǎn)換異常,我們可以使用java中自帶的instanceOf關(guān)鍵字來解決這個(gè)問題,所以本篇文章,會(huì)帶大家學(xué)習(xí)instanceOf的用法及特性,需要的朋友可以參考下2023-05-05
Java實(shí)現(xiàn)差分?jǐn)?shù)組的示例詳解
差分?jǐn)?shù)組是由原數(shù)組進(jìn)化而來,值為原數(shù)組當(dāng)前位置值減去上一個(gè)位置的值。本文將通過例題詳解如何利用Java實(shí)現(xiàn)差分?jǐn)?shù)組,需要的可以參考一下2022-06-06
VsCode配置java環(huán)境的詳細(xì)圖文教程
vscode是一個(gè)免費(fèi)的代碼編輯器,支持多種主題,應(yīng)用起來簡單方便,下面這篇文章主要給大家介紹了關(guān)于VsCode配置java環(huán)境的詳細(xì)圖文教程,文中通過圖文介紹的非常詳細(xì),需要的朋友可以參考下2023-02-02
SpringBoot的WebSocket實(shí)現(xiàn)單聊群聊
這篇文章主要為大家詳細(xì)介紹了SpringBoot的WebSocket實(shí)現(xiàn)單聊群聊,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-02-02
java通過AOP實(shí)現(xiàn)全局日志打印詳解
最近自己一直再看現(xiàn)有微服務(wù)的日志模塊,發(fā)現(xiàn)就是使用AOP來做controller層的日志處理,加上項(xiàng)目在進(jìn)行架構(gòu)優(yōu)化,這篇文章主要給大家介紹了關(guān)于java通過AOP實(shí)現(xiàn)全局日志打印的相關(guān)資料,需要的朋友可以參考下2022-01-01
在idea中將java項(xiàng)目中的單個(gè)類打包成jar包操作
這篇文章主要介紹了在idea中將java項(xiàng)目中的單個(gè)類打包成jar包操作,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-08-08
Spring Boot應(yīng)用開發(fā)初探與實(shí)例講解
這篇文章主要介紹了Spring Boot應(yīng)用開發(fā)初探與實(shí)例講解,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-07-07
SpringBoot用配置影響B(tài)ean加載@ConditionalOnProperty
這篇文章主要為大家介紹了SpringBoot用配置影響B(tài)ean加載@ConditionalOnProperty示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-04-04

