继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

使用POI把图片放到EXCEL

随缘清风
关注TA
已关注
手记 15
粉丝 8
获赞 218

想了半天,还是把我弃用的POI方案写出来吧,万一有人需要或是我往后需要,有地方查看。
POI版本是poi.3.10.1

public static void main(String[] args) {   
      FileOutputStream fileOut = null;  
      BufferedImage bufferImg = null; 
  //先把读进来的图片放到一个ByteArrayOutputStream中,以便产生ByteArray  
     try {
          ByteArrayOutputStream byteArrayOut = new ByteArrayOutputStream();  
          //图片是我本地的        
          bufferImg = ImageIO.read(new File("D:/84f9d3c7-b401-430a-bcf8-5483b560d7f4.jpeg"));
          ImageIO.write(bufferImg, "jpeg", byteArrayOut); 
          HSSFWorkbook wb = new HSSFWorkbook(); 
          HSSFSheet sheet1 = wb.createSheet("test picture");
        //画图的顶级管理器,一个sheet只能获取一个(一定要注意这点)          
         HSSFPatriarch patriarch = sheet1.createDrawingPatriarch();
      /** 
      * anchor主要用于设置图片的属性 
      * new HSSFClientAnchor(0, 0, 255, 255,(short) 1, 1, (short) 5, 8);
      * 其中的"(short) 1, 1"是图片左上方在excel方格的位置
      * 其中的“(short) 5, 8”是图片右下方在excel方格中的位置,修改这个位置可以把图片放大  
     * 
      */
      HSSFClientAnchor anchor = new HSSFClientAnchor(0, 0, 255, 255,(short) 1, 1, (short) 5, 8);
      anchor.setAnchorType(3);  
    //插入图片 
     patriarch.createPicture(anchor, wb.addPicture(byteArrayOut.toByteArray(),     
     HSSFWorkbook.PICTURE_TYPE_JPEG));  
     fileOut = new FileOutputStream("D:/测试Excel.xls"); 
     // 写入excel文件 
     wb.write(fileOut);
     System.out.println("----Excle文件已生成------");
   } catch (Exception e) {
      e.printStackTrace();   }
finally{ 
     if(fileOut != null){
         try {            
            fileOut.close();
         } catch (IOException e) {
            e.printStackTrace(); 
        }
      }
   }
}
打开App,阅读手记
1人推荐
发表评论
随时随地看视频慕课网APP