600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > POI实现 Excel插入图片

POI实现 Excel插入图片

时间:2020-01-13 22:01:36

相关推荐

POI实现 Excel插入图片

POI实现 Excel插入图片

使用jar包

代码如下

import cn.hutool.core.io.resource.ClassPathResource;import org.apache.poi.hssf.usermodel.HSSFWorkbook;import org.apache.poi.ss.usermodel.ClientAnchor;import org.apache.poi.ss.usermodel.Workbook;import org.apache.poi.xssf.streaming.SXSSFDrawing;import org.apache.poi.xssf.streaming.SXSSFSheet;import org.apache.poi.xssf.streaming.SXSSFWorkbook;import org.apache.poi.xssf.usermodel.XSSFClientAnchor;import javax.imageio.ImageIO;import java.awt.image.BufferedImage;import java.io.*;public class Test {public static void main(String[] args) throws IOException {OutputStream outputStream = new FileOutputStream("src/poi/插入图片/file/1.xlsx");Workbook workbook = new SXSSFWorkbook();insertPic(workbook);workbook.write(outputStream);workbook.close();}private static void insertPic(Workbook workbook){try {//获得画图的管理类SXSSFSheet sheet = (SXSSFSheet) workbook.createSheet("sheet");sheet.setDefaultRowHeight((short) 2000);SXSSFDrawing sxssfDrawing = sheet.createDrawingPatriarch();ByteArrayOutputStream byteArrayOut = new ByteArrayOutputStream();//anchor主要用于设置图片的属性XSSFClientAnchor anchor = new XSSFClientAnchor(0, 0, 255, 255, 0, 0, 1, 1);anchor.setAnchorType(ClientAnchor.AnchorType.DONT_MOVE_DO_RESIZE);ClassPathResource pathResource = new ClassPathResource("poi/插入图片/pic/1.png");//将图片读到BufferedImageBufferedImage bufferedImage = ImageIO.read(pathResource.getStream());// 将图片写入流中ImageIO.write(bufferedImage, "png", byteArrayOut);sxssfDrawing.createPicture(anchor, workbook.addPicture(byteArrayOut.toByteArray(), HSSFWorkbook.PICTURE_TYPE_PNG));}catch (Exception e){e.printStackTrace();}}}

关于XSSFClientAnchor参数

dx1 第一个单元格中的x坐标。

dy1 第一个单元格中的y坐标。

dx2 第二个单元格中的x坐标。

dy2 第二个单元格中的y坐标。

col1 第一个单元格的列(基于0)。

row1 第一个单元格的行(基于0)。

col2 第二个单元格的列(基于0)。

row2 第二个单元格的行(基于0)

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