在平常編輯Excel文檔時,大多數時候都是對數據進行統計與分析,但有時也不可避免會遇到須要添加圖片到文檔的狀況,以此來使數據與圖片相結合,進而達到使文檔內容更加豐滿和多樣的效果。本文將經過使用Java程序來演示如何添加、讀取、刪除和重置Excel中的圖片。html
方法1:經過官網下載獲取jar包。解壓後將lib文件夾下的Spire.Xls.jar文件導入Java程序。(以下圖)
java
方法2:經過maven倉庫安裝導入。具體安裝教程詳見此網頁。maven
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) { //建立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"); //設置圖片的寬度和高度 pic.setWidth(400); pic.setHeight(300); //保存文檔 workbook.saveToFile("output/InsertImage.xlsx", ExcelVersion.Version2013); } }
圖片添加效果:工具
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 { //建立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")); } }
圖片讀取效果:spa
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(); } }
圖片刪除效果:code
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(); } }
圖片重置效果:htm
(本文完)blog