本文介绍在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(); } }
运行程序后,生成的文件可查看图片删除效果。
(本文完)