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. Word2Vec之Skip-Gram模型

    理解 Word2Vec 之 Skip-Gram 模型 模型 Word2Vec模型中,主要有Skip-Gram和CBOW两种模型,从直观上理解,Skip-Gram是给定input word来预测上下文. ...

  2. mysql int类型范围

    int范围 Type Bytes Minimum Value Maximum Value     (Signed/Unsigned) (Signed/Unsigned) TINYINT 1 -128 ...

  3. X11 转发

    SecureCRT只支持字符界面,如果要在终端界面能弹出GUI,需要本地安装X11 server,然后服务器讲X11请求forward到本地,即可. x11 server 可以使用Xming, Xma ...

  4. C++深度解析教程学习笔记(5)面向对象

    1. 面向对象基本概念 (1)面向对象的意义在于 ①将日常生活中习惯的思维方式引入程序设计中 ②将需求中的概念直观的映射到解决方案中 ③以模块为中心构建可复用的软件系统 ④提高软件产品的可维护性和可扩 ...

  5. 自定义对话框<转>

    效果如下: <ignore_js_op> QQ截图20130221234404.png (51.02 KB, 下载次数: 126) 下载附件  保存到相册 2013-2-21 23:44 ...

  6. 【转载】C# 从服务器下载文件

    支持并尊重原创!原文地址:https://www.cnblogs.com/GoCircle/p/6429136.html 一.//TransmitFile实现下载 protected void But ...

  7. phpmailer邮件类

    <?php/** * 邮件类 * Enter description here ... * @author df * Mail::getMail()->sendMail(); * */cl ...

  8. 190. Reverse Bits 二进制相反数

    [抄题]: Reverse bits of a given 32 bits unsigned integer. Example: Input: 43261596 Output: 964176192 E ...

  9. 408. Valid Word Abbreviation有效的单词缩写

    [抄题]: Given a non-empty string s and an abbreviation abbr, return whether the string matches with th ...

  10. solr第二天 京东案例

    一.案例 电商网站的搜索 在互联网项目中做搜索都应该使用全文检索. 查询的是索引库,搜索功能跟数据库没有关系.实现分析: 1.先创建索引库 需要把数据库中的数据导入到索引库中. 需要把数据库中每个字段 ...