在平常编辑Excel文档时,大多数时候都是对数据进行统计与分析,但有时也不可避免会遇到须要添加图片到文档的状况,以此来使数据与图片相结合,进而达到使文档内容更加丰满和多样的效果。本文将经过使用Java程序来演示如何添加、读取、删除和重置Excel中的图片。html
方法1:经过官网下载获取jar包。解压后将lib文件夹下的Spire.Xls.jar文件导入Java程序。(以下图)java
方法2:经过maven仓库安装导入。具体安装教程详见此网页。maven
import com.spire.xls.ExcelPicture; import com.spire.xls.ExcelVersion; import com.spire.xls.Workbook; import com.spire.xls.Worksheet; public class AddImage { public static void main(String[] args) { //建立Workbook实例 Workbook workbook = new Workbook(); //加载Excel文档 workbook.loadFromFile("C:\\Users\\Test1\\Desktop\\Sample.xlsx"); //获取第一张工做表 Worksheet sheet = workbook.getWorksheets().get(0); //添加图片到工做表的指定位置 ExcelPicture pic = sheet.getPictures().add(20, 1,"C:\\Users\\Test1\\Desktop\\Image.jpg"); //设置图片的宽度和高度 pic.setWidth(400); pic.setHeight(300); //保存文档 workbook.saveToFile("output/InsertImage.xlsx", ExcelVersion.Version2013); } }
图片添加效果:工具
import com.spire.xls.ExcelPicture; import com.spire.xls.Workbook; import com.spire.xls.Worksheet; import javax.imageio.ImageIO; import java.awt.image.BufferedImage; import java.io.File; import java.io.IOException; public class ReadImage { public static void main(String[] args) throws IOException { //建立Workbook实例 Workbook workbook = new Workbook(); //加载Excel文档 workbook.loadFromFile("C:\\Users\\Test1\\Desktop\\InsertImage.xlsx"); //获取第一张工做表 Worksheet sheet = workbook.getWorksheets().get(0); //获取工做表中第一张图片并保存到指定路径 ExcelPicture pic = sheet.getPictures().get(0); BufferedImage loImage = pic.getPicture(); ImageIO.write(loImage,"jpg",new File("output/ReadImage.jpg")); } }
图片读取效果:spa
import com.spire.xls.*; public class DeleteImage { public static void main(String[] args) { //加载示例文档 Workbook workbook = new Workbook(); workbook.loadFromFile("C:\\Users\\Test1\\Desktop\\InsertImage.xlsx"); //获取第一个工做表 Worksheet sheet = workbook.getWorksheets().get(0); //获取第一张图片 ExcelPicture pic = sheet.getPictures().get(0); //删除图片 pic.remove(); //保存文档 workbook.saveToFile("output/RemoveImage.xlsx"); workbook.dispose(); } }
图片删除效果:code
import com.spire.xls.*; public class ResetPosition { public static void main(String[] args) { //加载示例文档 Workbook workbook = new Workbook(); workbook.loadFromFile("C:\\Users\\Test1\\Desktop\\InsertImage.xlsx"); //获取第一个工做表 Worksheet sheet = workbook.getWorksheets().get(0); //获取第一张图片 ExcelPicture pic = sheet.getPictures().get(0); //重置大小 pic.setHeight(150); pic.setWidth(200); //重置位置 pic.setLeft(400); pic.setTop(400); //保持文档 workbook.saveToFile("output/ResetPosition.xlsx"); workbook.dispose(); } }
图片重置效果:htm
(本文完)blog