package com.fh.util;
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"));  
                // 将图片写入流中  
                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开始的
                 *  
                 */  
                //图片一导出到单元格B2中  
                HSSFClientAnchor anchor = new HSSFClientAnchor(0, 0, 0, 0,  
                        (short) 10, 1, (short) 11, 2);  
                // 插入图片  
                patriarch.createPicture(anchor, wb.addPicture(byteArrayOut  
                        .toByteArray(), HSSFWorkbook.PICTURE_TYPE_JPEG));  
                //生成的excel文件地址
                fileOut = new FileOutputStream("C:/Users/uctimes/Downloads/123.xls");  
                // 写入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();  
                    }  
                }  
            }  
    }
}

效果图:

poi将图片导入excel(Java代码)的更多相关文章

  1. java poi分批次导入Excel

    最近换了新工作,公司要求导入Excel要分批次导入,并且是多线程的情况下执行导入,查了很多资料,没看到比较复合的,就打算自己写一个吧,可能有不足,希望指出. 上面说到多线程,这边就不贴出代码了,具体思 ...

  2. POI插入图片至Excel使用固定的长宽

    使用POI在Excel里插入图片,如何使插入的图片使用固定的大小?先介绍原有的两种方式: 一种是指定开始和结尾单元格,然后从头画到尾,相当于平铺 还有一种就是仅指定开始的单元格,图片的大小跟这个单元格 ...

  3. poi 导出Excel java代码

    js: function initBatchExport(url,sub_key,current_sub_num){ var btn_id="#btn_char"+current_ ...

  4. Poi 写入图片进入excel

    public static void cacheWritePicture(BufferedImage bufferImg, Sheet sheet, Workbook wb, int width, i ...

  5. java poi导入Excel(个人代码)

    案例使用的框架:jsp+spring+mybaties <form id="importForm" name="importForm" method=&q ...

  6. java poi 导入excel

    最近项目需要导入excel,网上有很多例子,自己整合记录下,兼容2003和2007,暂时没有添加图片处理功能. 所需jar包  http://pan.baidu.com/s/1sjPuWDR pack ...

  7. Java 使用poi导入excel,结合xml文件进行数据验证的例子(增加了jar包)

    ava 使用poi导入excel,结合xml文件进行数据验证的例子(增加了jar包) 假设现在要做一个通用的导入方法: 要求: 1.xml的只定义数据库表中的column字段,字段类型,是否非空等条件 ...

  8. Java解析导入Excel文件后台代码实现

    使用MultipartFile上传Excel文件后端代码实现:(springmvc下的spring-webmvc (MultipartFile )上传) 由于POST一个包含文件上传的Form会以mu ...

  9. 在java poi导入Excel通用工具类示例详解

    转: 在java poi导入Excel通用工具类示例详解 更新时间:2017年09月10日 14:21:36   作者:daochuwenziyao   我要评论   这篇文章主要给大家介绍了关于在j ...

随机推荐

  1. git学习3 - 克隆远程库到本地 将本地库上传到git

    如何克隆远程版本库到本地 git clone URL 如何用命令将本地项目上传到git 1.(先进入项目文件夹)通过命令 git init 把这个目录变成git可以管理的仓库 (注意: cd C:/U ...

  2. jgrid相关功能用法记录

    1.获取行号var ids = $gridList.jqGrid('getGridParam', 'selarrrow'); //多选,返回选中行号组字符 var ids2 = $gridList.j ...

  3. springboot成神之——basic auth和JWT验证结合

    本文介绍basic auth和JWT验证结合 目录结构 依赖 config配置文件WebSecurityConfig filter过滤器JWTLoginFilter filter过滤器JWTAuthe ...

  4. 第十二章 MySQL触发器(待续)

    ······

  5. JQuery UI Datepicker中文显示的方法

    出自:http://www.aimks.com/method-to-display-the-jquery-ui-datepicker-chinese.html Query UI Datepicker这 ...

  6. jquery中选中复选框1.8之前与1.8之后的区别

    在jquery 1.8.x中的版本,我们对于checkbox的选中与不选中操作如下: 判断是否选中 $('#checkbox').prop('checked') 设置选中与不选中状态: $('#che ...

  7. 解决Maximum execution time of 120 seconds exceeded

    在循环开始前加入代码: //设置超时时间 ini_set("max_execution_time",18000); set_time_limit(0); set_time_limi ...

  8. http头部信息解析

    HTTP 头部解释 1. Accept:告诉WEB服务器自己接受什么介质类型,*/* 表示任何类型,type/* 表示该类型下的所有子类型,type/sub-type. 2. Accept-Chars ...

  9. Codeforces 919F——A Game With Numbers

    转自大佬博客:https://www.cnblogs.com/NaVi-Awson/p/8405966.html; 题意 两个人 Van♂ 游戏,每人手上各有 8'>88 张牌,牌上数字均为 [ ...

  10. 在TFS中获取项目,获取最新和上传(迁入)

    一.在TFS中获取项目: (1)team (2)connect to team.... (3)选择服务地址,然后close (4)然后映射本地文件夹下载项目 (5)mapped添加映射,在map下就可 ...