本文介绍在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图片_java_02

 

【示例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图片_类库_03

 

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

运行程序后,生成的文件可查看图片删除效果。

 

(本文完)