工作越来越忙了,很久没来更新了,刚好今天抽个小空,整理下excel导出图片的总结,希望对你有用~

1、项目resources下创建文件夹file,将520.png图片放到文件夹下,代码如下:

HSSFPatriarch patriarch = sheet.createDrawingPatriarch();
ByteArrayOutputStream byteArrayOut = new ByteArrayOutputStream();
// 读取图片
File file = ResourceUtils.getFile("classpath:file/520.png");
// 获取路径
String url = file.getAbsolutePath();
BufferedImage bufferImg = ImageIO.read(new File(url));
ImageIO.write(bufferImg, "png", byteArrayOut);
// 图片一导出到单元格A1中
HSSFClientAnchor anchor = new HSSFClientAnchor(0,0,1023,255,(short) 0,0,(short) 0,0);
// 插入图片,注意这个问题PICTURE_TYPE_JPEG。如果导出的图片没有显示出来,改动这里
patriarch.createPicture(anchor, workbook.addPicture(byteArrayOut.toByteArray(), HSSFWorkbook.PICTURE_TYPE_JPEG));

2、导出网络图片,例如:

HSSFPatriarch patriarch = sheet.createDrawingPatriarch();
URL url = new URL("https://t7.baidu.com/it/u=3281686603,2838365105&fm=193&f=GIF");
HttpURLConnection conn = (HttpURLConnection)url.openConnection();
conn.setRequestMethod("GET");
InputStream inStream = conn.getInputStream();
byte[] byteData = readInputStream(inStream);
// 图片一导出到单元格A1中
HSSFClientAnchor anchor = new HSSFClientAnchor(0, 0, 1023, 255,(short) 0, 0, (short) 0, 0);
//插入图片
patriarch.createPicture(anchor,workbook.addPicture(byteData, HSSFWorkbook.PICTURE_TYPE_JPEG));

3、公用方法

private static byte[] readInputStream(InputStream inStream) throws Exception{ByteArrayOutputStream outStream = new ByteArrayOutputStream();//创建一个Buffer字符串byte[] buffer = new byte[1024];//每次读取的字符串长度,如果为-1,代表全部读取完毕int len = 0;//使用一个输入流从buffer里把数据读取出来while( (len=inStream.read(buffer)) != -1 ){//用输出流往buffer里写入数据,中间参数代表从哪个位置开始读,len代表读取的长度outStream.write(buffer, 0, len);}//关闭输入流inStream.close();//把outStream里的数据写入内存return outStream.toByteArray();
}

4、最后简单列出所引用的jar和HSSFClientAnchor介绍

jar如下:
import java.io.*;
import java.net.HttpURLConnection;
import java.net.URL;HSSFClientAnchor说明
new HSSFClientAnchor(dx1,dy1,dx2,dy2,col1,row1,col2,row2);
dx1、dy1:起始单元格中的x,y坐标
dx2、dy2-结束单元格中的x,y坐标
一个单元格:x(宽)-(0-1023),y(高)-(0-255)
col1、row1-起始的单元格,下标从0开始
col2、row2-结束的单元格 ,下标从0开始
列举一个例子如下:
// 图片一导出到单元格I2中
HSSFClientAnchor anchor = new HSSFClientAnchor(0, 0, 1023, 255,(short) 0, 0, 0, 0);

POI实现EXCEL导出(resources配置路径下或者网络图片)相关推荐

  1. Poi实现Excel导出

    Poi实现Excel导出 Appache Poi提供了HSSFWorkbook操作2003版本的Excel文件, XSSFWorkbook操作2007版Excel文件. 简单的具体实现在网上有很多案例 ...

  2. Apache POI操作Excel导出JAVABEAN对象方法

    2019独角兽企业重金招聘Python工程师标准>>> Apache POI操作Excel导出方法说明 Apache的POI组件是Java操作Microsoft Office办公套件 ...

  3. POI的Excel导出数据之后,单元格数据无法换行

    ** POI的Excel导出数据之后,单元格数据无法换行 问题描述: POI导出excel数据之后,代码中使用"\n"换行,导出数据之后数据并未换行,只有双击之后才展现换行效果,截 ...

  4. Hutool Java 工具类库Excel导出,配置宽度自适应极度舒适

    文章目录 前言 一.Hutool是什么? 二.使用步骤 1.引入maven依赖 2. 配置宽度自适应 3.Excel导出 三.原理 前言 一.Hutool是什么? Hutool是一个小而全的Java工 ...

  5. springboot+poi开发excel导出 加载Excel模板导出 Excel批量导出详解

    提到Excel导出功能,可能很多人都使用springmvc框架做过,笔者今天要给大家分享的是基于springBoot开发Excel复杂模板导出功能(所谓复杂模板指在模板里的特定表头里有不同的单元格合并 ...

  6. Excel导出表格时,下拉框数据长度超过255出现的问题及解决办法

    文章目录 1.直接添加下拉框,数据量过多会有问题 2.使用隐藏sheet的方式实现 3.多选下拉框 4.参考: 1.直接添加下拉框,数据量过多会有问题 /*** 创建下拉列表选项(单元格下拉框数据小于 ...

  7. 使用POI实现Excel导出导入 详细解释

    前景:java中操作图形化API难免有些困难,这时就会有大神来封装这些API 目前热门:收费iText,免费apache-poi 使用办公文档的核心理想:把办公软件中的元素封装成java类,程序员只需 ...

  8. POI实现Excel导出时常用方法说明

    场景 SpringBoot中使用POI实现自定义Excel布局式导出 https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/8949779 ...

  9. java如何调用系统保存框_java使用poi实现excel导出之后如何弹出保存提示框

    无论使用poi还是使用jxl导出excel都需要用到流 一种是outputstrean,另一种fileoutputstream 第一种:如果想要弹出保存的提示框必须加入下列三句 response.se ...

最新文章

  1. 《树莓派Python编程入门与实战(第2版)》——3.9 小结
  2. jQuery常用方法(二)-事件
  3. 提取文件出错_提取中文、英文和数字,其实很简单
  4. C语言STATIC用法
  5. 有哪些道理是我当了程序员后才知道的?
  6. 上采样和下采样_OpenCV学习笔记(一)之图像金字塔-上采样与降采样与DOG
  7. 仿博客园个人博客(3)基本完成
  8. jsch mysql_java Jsch实现跳板机操作远程数据库
  9. UVa532 Dungeon Master 三维迷宫
  10. 快速西门子PLC入门(零基础心得版)
  11. 计算机键盘无法输出,为什么键盘指示灯亮着却不能打字
  12. 【安卓手机驱动无法安装则无法连接电脑,终极100%解决方法】ADB interfacm与 Andriod安装出现黄色感叹号
  13. 商户开通微信支付详细流程文档
  14. log4j 2.x版本 日志按天分割,按文件大小分割
  15. 黑群晖的驱动加载与卸载(以USB网卡驱动为例)
  16. UI(PS+AI)课程总结
  17. 更新后的哥德巴赫猜想(位运算)
  18. 如何在线赚钱:28 种真正的在线赚钱方式
  19. spicy(三)compiling analyzers
  20. H265 数据结构与码流分析

热门文章

  1. html向下的箭头符号怎么打,向下的箭头怎么打
  2. 读博会改变人的性格吗?
  3. Python学习笔记_获取猫耳广播剧
  4. Zabbix自动发现规则
  5. AdamW优化器简单理解
  6. mismatch详解
  7. 自学unity,该不该阻止?
  8. OpenCV 源码中分水岭算法 watershed 函数源码注解
  9. 打乱魔方软件_魔方打乱程序思路
  10. 显示器还有卖的吗_显示器不够好,你确定修的片能好看? | 摄影早自习第1365天...