最近需要想excel中插入图片,发现框架提供的excel生成方法中,居然没有这个功能,没有办法只能自己再业务侧追加吧,看了下网络介绍,SXSSFDrawing的性能比较不错,下面是实现代码,供大家参考。 1、定义
/**
* 画图的顶级管理器
*/
private SXSSFDrawing drawingPatriarch;
2、实例化画图管理器(注意这个东西在一个sheet中只能获取一次)
this.drawingPatriarch = (SXSSFDrawing) sheet.createDrawingPatriarch();
3、使用画图管理器向excel中填充图片,直接上代码,超级简单,不用我过多说明了
/**
* 设置单元格信息(图片)
*
* @param value 单元格值
* @param attr 注解相关
* @param cell 单元格信息
*/
public void setCellVoForImg(Object value, Excel attr, Cell cell) {
try {
BufferedImage bufferImg = null;
ByteArrayOutputStream byteArrayOut = null;
XSSFClientAnchor anchor = null;
// 多个路径时,插入多条记录
String strValue = String.valueOf(value);
String[] strValueArr = strValue.split(",");
for (int i = 0; i |