测试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();
    }
}

 

posted @ 2020-12-18 14:40  lost_s  阅读(234)  评论(0编辑  收藏  举报