安装
在pom.xml添加
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>3.6</version>
</dependency>
废话不多说,直奔主题
HSSFWorkbook hssfWorkbook = new HSSFWorkbook();
//图片文件 我这儿使用的是本地文件
byte[] bytes = IOUtils.toByteArray(new FileInputStream("src/main/resources/static/nhgfd.jpg"));
//Workbook.PICTURE_TYPE_JPEG 图片类型
int pictureIdx = hssfWorkbook.addPicture(bytes, Workbook.PICTURE_TYPE_JPEG);
HSSFSheet sheet = hssfWorkbook.createSheet();
HSSFPatriarch patriarch=sheet.createDrawingPatriarch();
//设置图片参数 前面4个参数是第一个单元格和第二个单元格X Y坐标 后面4个参数是单元格坐标
//例如 0 0 0 0 4 1 5 2就是把图片添加到第二行的第五个单元格里面(数字是从0开始计算)
HSSFClientAnchor anchor = new HSSFClientAnchor(0,0,0,0,(short)4,1,(short)5,2);
anchor.setAnchorType(3);
patriarch.createPicture(anchor,pictureIdx);
//添加数据
HSSFRow row;
row = sheet.createRow(1);
//设置行高
row.setHeight((short) 800);
row.createCell(1).setCellValue("test");
row.createCell(2).setCellValue("tes22");
row = sheet.createRow(2);
row.setHeight((short) 800);
row.createCell(1).setCellValue("20");
row.createCell(2).setCellValue("22");
//保存的文件名
String fileName = "src/main/resources/aa.xlsx";
//没有则创建
Tool.createFile(fileName);
//输出
hssfWorkbook.write(new FileOutputStream(fileName));
效果