--------------------- 本文来自 天水宇 的CSDN 博客 ,全文地址请点击:https://blog.csdn.net/xxs77ch/article/details/50553857?utm_source=copy

  • using System;
  • using System.Collections.Generic;
  • using System.Linq;
  • using System.Text;
  • using System.Threading.Tasks;
  • using NPOI.HSSF.UserModel;
  • using NPOI.SS.Formula.Eval;
  • using NPOI.SS.Formula.Functions;
  • using NPOI.SS.UserModel;
  • using NPOI.XSSF.UserModel;
  • using NPOI.POIFS.FileSystem;
  • using NPOI.HPSF;
  • using System.IO;
  • using NPOI.SS.Util;
  • using System.Drawing;
  • using NPOI.HSSF.Util;
  • using System.Web;
  • using System.Net;
  • using System.Net.Mail;
  • namespace NPOI
  • {
  • class Program10
  • {
  • static void Main(string[] args)
  • {
  •  
  • //说明:插入图片
  •  
  • //1.创建EXCEL中的Workbook
  • IWorkbook myworkbook = new HSSFWorkbook();
  •  
  • //2.创建Workbook中的Sheet
  • ISheet mysheet = myworkbook.CreateSheet("sheet1");
  •  
  • //第一步:读取图片到byte数组
  • HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://img1.soufunimg.com/message/images/card/tuanproj/201511/2015112703584458_s.jpg");
  •  
  • byte[] bytes;
  • using (Stream stream = request.GetResponse().GetResponseStream())
  • {
  • using (MemoryStream mstream = new MemoryStream())
  • {
  • int count = 0;
  • byte[] buffer = new byte[1024];
  • int readNum = 0;
  • while ((readNum = stream.Read(buffer, 0, 1024)) > 0)
  • {
  • count = count + readNum;
  • mstream.Write(buffer, 0, 1024);
  • }
  • mstream.Position = 0;
  • using (BinaryReader br = new BinaryReader(mstream))
  • {
  •  
  • bytes = br.ReadBytes(count);
  • }
  • }
  • }
  •  
  • //第二步:将图片添加到workbook中 指定图片格式 返回图片所在workbook->Picture数组中的索引地址(从1开始)
  • int pictureIdx = myworkbook.AddPicture(bytes, PictureType.JPEG);
  •  
  • //第三步:在sheet中创建画部
  • IDrawing patriarch = mysheet.CreateDrawingPatriarch();
  •  
  • //第四步:设置锚点 (在起始单元格的X坐标0-1023,Y的坐标0-255,在终止单元格的X坐标0-1023,Y的坐标0-255,起始单元格行数,列数,终止单元格行数,列数)
  • IClientAnchor anchor =patriarch.CreateAnchor(0,0,0,0,0,0,2,2);
  •  
  •  
  • //第五步:创建图片
  • IPicture pict = patriarch.CreatePicture(anchor, pictureIdx);
  •  
  • //6.保存
  • FileStream file = new FileStream(@"E:\myworkbook11.xls", FileMode.Create);
  • myworkbook.Write(file);
  • file.Close();
  • }
  • }
  • }
     
     
     
     
     
     1 // 插入 PNG 图片至 Excel
    2 String fileName = strAppRootPath + "images/" + "bxlogo.png";
    3
    4 InputStream is = new FileInputStream(fileName);
    5 byte[] bytes = IOUtils.toByteArray(is);
    6
    7 int pictureIdx = workbook.addPicture(bytes, Workbook.PICTURE_TYPE_PNG);
    8
    9 CreationHelper helper = workbook.getCreationHelper();
    10 Drawing drawing = sheet.createDrawingPatriarch();
    11 ClientAnchor anchor = helper.createClientAnchor();
    12
    13 // 图片插入坐标
    14 anchor.setCol1(0);
    15 anchor.setRow1(1);
    16 // 插入图片
    17 Picture pict = drawing.createPicture(anchor, pictureIdx);
    18 pict.resize();

NPOI2.2.0.0实例详解(十一)—向EXCEL插入图片的更多相关文章

  1. NPOI2.2.0.0实例详解(十)—设置EXCEL单元格【文本格式】 NPOI 单元格 格式设为文本 HSSFDataFormat

    NPOI2.2.0.0实例详解(十)—设置EXCEL单元格[文本格式] 2015年12月10日 09:55:17 阅读数:3150 using System; using System.Collect ...

  2. NPOI2.2.0.0实例详解(八)—设置EXCEL单元格【数字格式】

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...

  3. NPOI2.2.0.0实例详解(九)—设置EXCEL单元格【时间格式】

    原文:http://blog.csdn.net/xxs77ch/article/details/50245391 using System; using System.Collections.Gene ...

  4. RxJava2.0的使用详解

    RxJava2.0的使用详解 1,初识RxJava RxJava就是一种用Java语言实现的响应式编程,来创建基于事件的异步程序 RxJava是一个基于事件订阅的异步执行的一个类库,目前比较火的一些技 ...

  5. redis5.0.3配置文件详解

    Redis最新版本5.0.3配置文件详解 单位 #当你需要为某个配置项指定内存大小的时候,必须要带上单位, #通常的格式就是 1k 5gb 4m 等: #1k => 1000 bytes #1k ...

  6. IIS7.0 Appcmd 命令详解和定时重启应用池及站点的设置

    IIS7.0 Appcmd 命令详解 废话不说!虽然有配置界面管理器!但是做安装包的时候命令创建是必不可少的!最近使用NSIS制作安装包仔细研究了一下Appcmd的命令,可谓是功能齐全. 上网查了些资 ...

  7. loadrunner11.0 安装破解详解使用教程

    loadrunner11.0 安装破解详解使用教程 来源:互联网 作者:佚名 时间:01-21 10:25:34 [大 中 小] 很多朋友下载了loadrunner11但不是很会使用,这里简单介绍下安 ...

  8. Apache2.2+Tomcat7.0整合配置详解

    一.简单介绍 Apache.Tomcat Apache HTTP Server(简称 Apache),是 Apache 软件基金协会的一个开放源码的网页服务器,可以在 Windows.Unix.Lin ...

  9. IIS7.0 Appcmd 命令详解

    原文 IIS7.0 Appcmd 命令详解 一:准备工作 APPcmd.exe 位于 C:\Windows\System32\inetsrv 目录 使用 Cd c:\Windows\System32\ ...

随机推荐

  1. FSTConfiguration 高性能序列化框架FST

    转自:https://blog.csdn.net/z69183787/article/details/53005961 fst是完全兼容JDK序列化协议的系列化框架,序列化速度大概是JDK的4-10倍 ...

  2. 【vue】Vue调试神器vue-devtools安装

    转载:https://segmentfault.com/a/1190000009682735 前言 vue-devtools是一款基于chrome游览器的插件,用于调试vue应用,这可以极大地提高我们 ...

  3. LG1419 【寻找段落】

    前言 鉴于这题的题解质量(连LaTeX公式都没有),我决定再发一篇详细的题解,不仅方便大家,还可以作为我学习单调队列优化dp的小结(尽管这题不是dp). 分析 题目要求求一个最大的实数\(x\),使得 ...

  4. Java中File常用的方法汇总

    创建:createNewFile()在指定位置创建一个空文件,成功就返回true,如果已存在就不创建,然后返回false.mkdir() 在指定位置创建一个单级文件夹.mkdirs() 在指定位置创建 ...

  5. Python学习系列(一)(基础入门)

    Python入门 本系列为Python学习相关笔记整理所得,IT人,多学无害,多多探索,激发学习兴趣,开拓思维,不求高大上,只求懂点皮毛,作为知识储备,不至于落后太远.如果兴趣学习者,推荐一个基础视频 ...

  6. tomcat源码阅读之Catalina和Bootstrap解析

    一.Cataling类分析: 1.Catalina类是启动类,用于启动或者关闭Server对象,它包含一个Digester对象,用于解析tomcat配置文件:conf/server.xml;调用pro ...

  7. 二分法查找 (Binary Search)

    二分法查找适用于排列有序的数据.java实现方法如下: // Find the location of a value in array a // Array a must be sorted // ...

  8. 阿里巴巴Java开发手册-集合处理

    1. [强制]关于 hashCode 和 equals 的处理,遵循如下规则:      1) 只要重写 equals ,就必须重写 hashCode .      2) 因为 Set 存储的是不重复 ...

  9. 【jmeter】jmeter之“参数化”

    参数化:简单的来理解一下,我们录制了一个脚本,这个脚本中有登录操作,需要输入用户名和密码,假如系统不允许相同的用户名和密码同时登录,或者想更好的模拟多个用户来登录系统. 这个时候就需要对用户名和密码进 ...

  10. oracle_外部表的两种实现方式oracle_loader[datapump]

    外部表可以实现,通过数据库对象直接访问目录文件里的格式数据,加载方式分为两种oracle_loader和oracle_datapump,oracle_loader方式通过sqlldr引擎方式加载,访问 ...