测试poi往excel插入图片
依赖坐标
<dependencies> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>4.0.1</version> </dependency> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-ooxml</artifactId> <version>4.0.1</version> </dependency> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-ooxml-schemas</artifactId> <version>4.0.1</version> </dependency> </dependencies>
测试类
package com.test; import org.apache.poi.ss.usermodel.*; import org.apache.poi.util.IOUtils; import org.apache.poi.xssf.usermodel.XSSFWorkbook; import java.io.FileInputStream; import java.io.FileOutputStream; public class testPoi { public static void main(String[] args) throws Exception { //创建工作簿 HSSFWorkbook -- 2003 Workbook wb = new XSSFWorkbook(); //2007版本 //创建表单sheet Sheet sheet = wb.createSheet("testSheet"); //读取图片流 FileInputStream stream = new FileInputStream("C:\\Users\\Administrator\\Pictures\\1.jpg"); //转化二进制数组 byte[] bytes = IOUtils.toByteArray(stream); stream.read(bytes); //向POI内存中添加一张图片,返回图片在图片集合中的索引 int index = wb.addPicture(bytes, Workbook.PICTURE_TYPE_JPEG);//参数一:图片的二进制数据,参数二:图片类型 //绘制图片工具类 CreationHelper helper = wb.getCreationHelper(); //创建一个绘图对象 Drawing<?> patriarch = sheet.createDrawingPatriarch(); //设置图片坐标 ClientAnchor anchor = helper.createClientAnchor(); anchor.setRow1(5); anchor.setCol1(5); //绘制图片 Picture picture = patriarch.createPicture(anchor, index);//参数一:图片位置,参数二:图片的索引 picture.resize();//自适应渲染图片 //文件流 FileOutputStream pos = new FileOutputStream("G:\\test.xlsx"); //写入文件 wb.write(pos); pos.close(); } }