600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > Java Poi 向excel中插入图片

Java Poi 向excel中插入图片

时间:2022-03-27 07:09:58

相关推荐

Java Poi 向excel中插入图片

博客

package com.unicom.yangjiabin.utils;import java.awt.image.BufferedImage;import java.io.ByteArrayOutputStream; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import javax.imageio.ImageIO; 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; public class AAAA {public static void main(String[] args) {FileOutputStream fileOut = null;BufferedImage bufferImg = null;//图片try { // 先把读进来的图片放到一个ByteArrayOutputStream中,以便产生ByteArray ByteArrayOutputStream byteArrayOut = new ByteArrayOutputStream(); //将图片读到BufferedImage //bufferImg = ImageIO.read(new File("C:/Users/uctimes/Desktop/1.jpg"));bufferImg = ImageIO.read(new File("D:\\ji.png"));// 将图片写入流中 ImageIO.write(bufferImg, "png", byteArrayOut); // 创建一个工作薄 HSSFWorkbook wb = new HSSFWorkbook(); //创建一个sheet HSSFSheet sheet = wb.createSheet("out put excel"); // 利用HSSFPatriarch将图片写入EXCEL HSSFPatriarch patriarch = sheet.createDrawingPatriarch(); /*** 该构造函数有8个参数* 前四个参数是控制图片在单元格的位置,分别是图片距离单元格left,top,right,bottom的像素距离* 后四个参数,前连个表示图片左上角所在的cellNum和 rowNum,后天个参数对应的表示图片右下角所在的cellNum和 rowNum,* excel中的cellNum和rowNum的index都是从0开始的* */ //图片一导出到单元格B5中HSSFClientAnchor anchor = new HSSFClientAnchor(0, 0, 0, 0, (short) 1, 5, (short)2, 4);// 插入图片 patriarch.createPicture(anchor, wb.addPicture(byteArrayOut .toByteArray(), HSSFWorkbook.PICTURE_TYPE_JPEG)); //生成的excel文件地址//fileOut = new FileOutputStream("C:/Users/uctimes/Downloads/123.xls");fileOut = new FileOutputStream("D:\\2.xlsx");// 写入excel文件 wb.write(fileOut); } catch (IOException io) { io.printStackTrace(); System.out.println("io erorr : " + io.getMessage()); } finally { if (fileOut != null) { try { fileOut.close(); } catch (IOException e) { e.printStackTrace(); } } } }}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。