天天看點

Java 添加、讀取、删除Excel圖檔

本文介紹在Java程式中如何添加圖檔到excel表格,添加圖檔時可設定圖檔大小、位置、旋轉、超連結、可選文本等,以及如何讀取、删除excel表格中已有的圖檔。

工具:Free Spire.XLS for Java (免費版)

注:可通過官網下載下傳包,并解壓将lib檔案夾下的jar檔案導入java程式;或者通過maven倉庫下載下傳導入。

Jar導入效果:

Java 添加、讀取、删除Excel圖檔

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();
    }
}      

圖檔添加效果:

Java 添加、讀取、删除Excel圖檔

【示例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"));
    }
}      

圖檔讀取結果:

Java 添加、讀取、删除Excel圖檔

【示例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();
    }
}      

運作程式後,生成的檔案可檢視圖檔删除效果。

(本文完)