POI实现EXCEL导出(resources配置路径下或者网络图片)
工作越来越忙了,很久没来更新了,刚好今天抽个小空,整理下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配置路径下或者网络图片)相关推荐
- Poi实现Excel导出
Poi实现Excel导出 Appache Poi提供了HSSFWorkbook操作2003版本的Excel文件, XSSFWorkbook操作2007版Excel文件. 简单的具体实现在网上有很多案例 ...
- Apache POI操作Excel导出JAVABEAN对象方法
2019独角兽企业重金招聘Python工程师标准>>> Apache POI操作Excel导出方法说明 Apache的POI组件是Java操作Microsoft Office办公套件 ...
- POI的Excel导出数据之后,单元格数据无法换行
** POI的Excel导出数据之后,单元格数据无法换行 问题描述: POI导出excel数据之后,代码中使用"\n"换行,导出数据之后数据并未换行,只有双击之后才展现换行效果,截 ...
- Hutool Java 工具类库Excel导出,配置宽度自适应极度舒适
文章目录 前言 一.Hutool是什么? 二.使用步骤 1.引入maven依赖 2. 配置宽度自适应 3.Excel导出 三.原理 前言 一.Hutool是什么? Hutool是一个小而全的Java工 ...
- springboot+poi开发excel导出 加载Excel模板导出 Excel批量导出详解
提到Excel导出功能,可能很多人都使用springmvc框架做过,笔者今天要给大家分享的是基于springBoot开发Excel复杂模板导出功能(所谓复杂模板指在模板里的特定表头里有不同的单元格合并 ...
- Excel导出表格时,下拉框数据长度超过255出现的问题及解决办法
文章目录 1.直接添加下拉框,数据量过多会有问题 2.使用隐藏sheet的方式实现 3.多选下拉框 4.参考: 1.直接添加下拉框,数据量过多会有问题 /*** 创建下拉列表选项(单元格下拉框数据小于 ...
- 使用POI实现Excel导出导入 详细解释
前景:java中操作图形化API难免有些困难,这时就会有大神来封装这些API 目前热门:收费iText,免费apache-poi 使用办公文档的核心理想:把办公软件中的元素封装成java类,程序员只需 ...
- POI实现Excel导出时常用方法说明
场景 SpringBoot中使用POI实现自定义Excel布局式导出 https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/8949779 ...
- java如何调用系统保存框_java使用poi实现excel导出之后如何弹出保存提示框
无论使用poi还是使用jxl导出excel都需要用到流 一种是outputstrean,另一种fileoutputstream 第一种:如果想要弹出保存的提示框必须加入下列三句 response.se ...
最新文章
- 《树莓派Python编程入门与实战(第2版)》——3.9 小结
- jQuery常用方法(二)-事件
- 提取文件出错_提取中文、英文和数字,其实很简单
- C语言STATIC用法
- 有哪些道理是我当了程序员后才知道的?
- 上采样和下采样_OpenCV学习笔记(一)之图像金字塔-上采样与降采样与DOG
- 仿博客园个人博客(3)基本完成
- jsch mysql_java Jsch实现跳板机操作远程数据库
- UVa532 Dungeon Master 三维迷宫
- 快速西门子PLC入门(零基础心得版)
- 计算机键盘无法输出,为什么键盘指示灯亮着却不能打字
- 【安卓手机驱动无法安装则无法连接电脑,终极100%解决方法】ADB interfacm与 Andriod安装出现黄色感叹号
- 商户开通微信支付详细流程文档
- log4j 2.x版本 日志按天分割,按文件大小分割
- 黑群晖的驱动加载与卸载(以USB网卡驱动为例)
- UI(PS+AI)课程总结
- 更新后的哥德巴赫猜想(位运算)
- 如何在线赚钱:28 种真正的在线赚钱方式
- spicy(三)compiling analyzers
- H265 数据结构与码流分析