1. static void Main(string[] args)
  2. {
  3. //说明:插入图片
  4. //1.创建EXCEL中的Workbook
  5. IWorkbook myworkbook = new HSSFWorkbook();
  6. //2.创建Workbook中的Sheet
  7. ISheet mysheet = myworkbook.CreateSheet("sheet1");
  8. //第一步:读取图片到byte数组
  9. HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://img1.soufunimg.com/message/images/card/tuanproj/201511/2015112703584458_s.jpg");
  10. byte[] bytes;
  11. using (Stream stream = request.GetResponse().GetResponseStream())
  12. {
  13. using (MemoryStream mstream = new MemoryStream())
  14. {
  15. int count = 0;
  16. byte[] buffer = new byte[1024];
  17. int readNum = 0;
  18. while ((readNum = stream.Read(buffer, 0, 1024)) > 0)
  19. {
  20. count = count + readNum;
  21. mstream.Write(buffer, 0, 1024);
  22. }
  23. mstream.Position = 0;
  24. using (BinaryReader br = new BinaryReader(mstream))
  25. {
  26. bytes = br.ReadBytes(count);
  27. }
  28. }
  29. }
  30. //第二步:将图片添加到workbook中  指定图片格式 返回图片所在workbook->Picture数组中的索引地址(从1开始)
  31. int pictureIdx = myworkbook.AddPicture(bytes, PictureType.JPEG);
  32. //第三步:在sheet中创建画部
  33. IDrawing patriarch = mysheet.CreateDrawingPatriarch();
  34. //第四步:设置锚点 (在起始单元格的X坐标0-1023,Y的坐标0-255,在终止单元格的X坐标0-1023,Y的坐标0-255,起始单元格行数,列数,终止单元格行数,列数)
  35. IClientAnchor anchor =patriarch.CreateAnchor(0,0,0,0,0,0,2,2);
  36. //第五步:创建图片
  37. IPicture pict = patriarch.CreatePicture(anchor, pictureIdx);
  38. //6.保存
  39. FileStream file = new FileStream(@"E:\myworkbook11.xls", FileMode.Create);
  40. myworkbook.Write(file);
  41. file.Close();
  42. }
  43. }

效果: 

将图片插入到excel中的更多相关文章

  1. C#生成二维码,把二维码图片放入Excel中

    /// <summary> /// 把图片保存到excel中 /// </summary> /// <param name="excelFilePath&quo ...

  2. 把文档中的数据取出并插入到excel中

    from xlrd import open_workbookfrom xlutils.copy import copy jsonfile=r'C:\Users\Administrator\Deskto ...

  3. C# 从Excel中读取条码

    条形码的应用三------从Excel文件中读取条形码 介绍 上一篇文章,我向大家展示了生成多个条形码并存储到Excel文件中的一个方法.后来我又有了个想法:既然条码插入到excel中了,我可不可以从 ...

  4. java POI实现向Excel中插入图片

          做Web开发免不了要与Excel打交道.今天老大给我一个任务-导出Excel.开始想的还是蛮简单的,无非就是查找,构建Excel,response下载即可.但是有一点不同,就是要加入图片, ...

  5. NPOI(2.1.3)向excel中插入图片,xls文档图片插入成功,xlsx文档图片插入失败

    众所周知,NPOI对xls和xlsx两个版本的excel文档的操作并没有一个统一的支持, 程序若想兼容这两个版本的操作,必须根据excel版本分别去调用HSSF和XSSF这两套操作库, 之前一直不明白 ...

  6. java 在Excel中插入图片 POI实现

    一.POI简介 Jakarta POI 是apache的子项目,目标是处理ole2对象.它提供了一组操纵Windows文档的Java API 目前比较成熟的是HSSF接口,处理MS Excel(97- ...

  7. Open Xml 读取Excel中的图片

      在我的一个项目中,需要分析客户提供的Excel, 读出其中的图片信息(显示在Excel的第几行,第几列,以及图片本身). 网络上有许多使用Open Xml插入图片到Word,Excel的文章, 但 ...

  8. c# 图片插入Excel

    引用COM:Microsoft Office 11.0 Object Library 引用类:    using System;    using System.Windows.Forms;    u ...

  9. Excel催化剂开源第9波-VSTO开发图片插入功能,图片带事件

    图片插入功能,这个是Excel插件的一大刚需,但目前在VBA接口里开发,如果用Shapes.AddPicture方法插入的图片,没法对其添加事件,且图片插入后需等比例调整纵横比例特别麻烦,特别是对于插 ...

随机推荐

  1. js判断是iOS还是Android

    <script type="text/javascript"> var ua = navigator.userAgent.toLowerCase(); if (/iph ...

  2. Hadoop生态圈

    1.Hadoop是什么? 适合大数据的分布式存储与计算平台 HDFS: Hadoop Distributed File System分布式文件系统 MapReduce:并行计算框架 解决的问题: HD ...

  3. MySQL查询语句(select)详解(2)

    7.子查询 当进行查询的时候,需要的条件是另外一个select语句的结果,这时候就要用到子查询 用于子查询的主要关键字有:in,not in,=,!=,exists,not exists等. 以下两张 ...

  4. 反射-----学习Spring必学的Java基础知识之一

    Java允许通过程序化的方式间接对Class进行操作,Class文件由类装载器装载后,在JVM中将形成一份描述Class结构的元信息对象,通过该元信息对象可以获知Class的结构信息:如构造函数.属性 ...

  5. 20145205 《Java程序设计》实验报告五:Java网络编程及安全

    20145205 <Java程序设计>实验报告五:Java网络编程及安全 实验要求 1.掌握Socket程序的编写: 2.掌握密码技术的使用: 3.客户端中输入明文,利用DES算法加密,D ...

  6. oracle 11g RAC 补丁升级方法

    一.自动升级方法 使用auto方式在两节点分别进行PSU的安装,安装PSU前注意更新opatch工具至PSU所要求版本,p22191577补丁包括GI和DB,分别执行即可. 两节点分别grid用户执行 ...

  7. js 获取指定日期

    查询几天后的js代码,如果查询当天的日期 if($("input[name='startTime']").val()==""){ $("input[n ...

  8. python-socket-SocketServer - Forking

    在之前的文章中,客户端和服务端.一般情况下并非是一对一的关系.多对一,多个客户端连接一个服务端.并且服务端需要对每一个客户端进行信息处理. 在客户端不多的情况下,可以采取为每一个客户端创建一个进程对其 ...

  9. git 强制覆盖本地

    git fetch --all git reset --hard origin/master git pull 参考:https://ruby-china.org/topics/2494

  10. Clang比 gcc/g++更人性化代码出错提示的C/C++编译器

    编译器方面的几个命令 gcc/g++ 一. 常用编译命令选项 常用用法 gcc -Wall test.c -o test gcc编译过程 .c ->(-E)-> .i[中间文件] -> ...