本文介绍在Java程序中如何添加图片到excel表格,添加图片时可设置图片大小、位置、旋转、超链接、可选文本等,以及如何读取、删除excel表格中已有的图片。

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

注:可通过官网下载包,并解压将lib文件夹下的jar文件导入java程序;或者通过maven仓库下载导入。

Jar导入效果:

Java 代码示例


【示例1】添加图片

importcom.spire.xls.*;publicclassAddImage{publicstaticvoidmain(String[]args){//加载文档Workbookwb=newWorkbook();wb.loadFromFile("test.xlsx");//获取工作表Worksheetsheet=wb.getWorksheets().get(0);//添加图片ExcelPicturepicture=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】读取图片

importcom.spire.xls.*;importjavax.imageio.ImageIO;importjava.awt.image.BufferedImage;importjava.io.File;importjava.io.IOException;publicclassExtractImage{publicstaticvoidmain(String[]args)throwsIOException{//加载文档Workbookwb=newWorkbook();wb.loadFromFile("AddImage.xlsx");//获取第一张工作表Worksheetsheet=wb.getWorksheets().get(0);//获取工作表中第一张图片并保存到指定路径ExcelPicturepic=sheet.getPictures().get(0);BufferedImageloImage=pic.getPicture();ImageIO.write(loImage,"jpg",newFile("ExtractedImage.jpg"));}}

图片读取结果:

【示例3】删除图片

importcom.spire.xls.*;publicclassRemoveImage{publicstaticvoidmain(String[]args){//加载文档Workbookwb=newWorkbook();wb.loadFromFile("AddImage.xlsx");//获取指定工作表Worksheetsheet=wb.getWorksheets().get(0);//获取指定图片,删除sheet.getPictures().get(0).remove();//保存文档wb.saveToFile("RemoveImage.xlsx",ExcelVersion.Version2010);wb.dispose();}}

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

(本文完)