本文介紹在Java程式中如何添加圖檔到excel表格,添加圖檔時可設定圖檔大小、位置、旋轉、超連結、可選文本等,以及如何讀取、删除excel表格中已有的圖檔。
工具:Free Spire.XLS for Java (免費版)
注:可通過官網下載下傳包,并解壓将lib檔案夾下的jar檔案導入java程式;或者通過maven倉庫下載下傳導入。
Jar導入效果:
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);//設定圖檔高度
picture.setWidth(550);//設定圖檔寬度
picture.setRotation(20);//設定圖檔旋轉角度
picture.setAlternativeText("Picture1");//設定圖檔可選文本
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"));
}
}
圖檔讀取結果:
【示例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();
}
}
運作程式後,生成的檔案可檢視圖檔删除效果。
(本文完)