快捷搜索: 王者荣耀 脱发

java 导出excel插入图片

import cn.hutool.core.io.FileUtil;
import com.ztool.excel.select.SimpleSelectTool;
import org.apache.poi.hssf.usermodel.HSSFClientAnchor;
import org.apache.poi.hssf.usermodel.HSSFPatriarch;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.ClientAnchor;

import javax.imageio.ImageIO;
import java.awt.image.BufferedImage;
import java.io.ByteArrayOutputStream;
import java.io.IOException;

/**
 * @author zhangjianshan on 2023-04-30
 */
public class PictureTool {
          
   
    public static void main(String[] args) {
          
   
        HSSFWorkbook book = new HSSFWorkbook();
        HSSFSheet sheet = book.createSheet("sheetName");
        try {
          
   
            //第一种方式: url地址
            BufferedImage bufferImg = ImageIO.read(FileUtil.getInputStream("E:\template\fire-1842140.jpg"));
            // 将图片写入流中
            HSSFPatriarch patriarch = sheet.createDrawingPatriarch();
            insertImage(book, patriarch, getImageData(bufferImg), 0, 2, 0, 4);
            SimpleSelectTool.writeFile(book);
        } catch (IOException e) {
          
   
            e.printStackTrace();
        }
    }

    private static void insertImage(HSSFWorkbook wb, HSSFPatriarch pa, byte[] data, int startRow, int endRow, int startColumn, int endColumn) {
          
   
        HSSFClientAnchor anchor = new HSSFClientAnchor(0, 0, 1023, 100, (short) startColumn, startRow, (short) endColumn, endRow);
        anchor.setAnchorType(ClientAnchor.AnchorType.DONT_MOVE_AND_RESIZE);
        pa.createPicture(anchor, wb.addPicture(data, HSSFWorkbook.PICTURE_TYPE_JPEG));
    }

    private static byte[] getImageData(BufferedImage bi) {
          
   
        try {
          
   
            ByteArrayOutputStream bout = new ByteArrayOutputStream();
            ImageIO.write(bi, "PNG", bout);
            return bout.toByteArray();
        } catch (Exception exe) {
          
   
            exe.printStackTrace();
            return null;
        }
    }
}
最终效果
经验分享 程序员 微信小程序 职场和发展