当前位置:   article > 正文

java添加图片到Excel单元格中(POI)_java excel单元格填充图片

java excel单元格填充图片

安装

在pom.xml添加

        <dependency>
            <groupId>org.apache.poi</groupId>
            <artifactId>poi</artifactId>
            <version>3.6</version>
        </dependency>
  • 1
  • 2
  • 3
  • 4
  • 5

废话不多说,直奔主题

        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));
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号