zoukankan      html  css  js  c++  java
  • 将图片插入到excel中

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

    效果: 

  • 相关阅读:
    Spring5源码分析之Bean生命周期
    关系图
    Spring5源码分析之AnnotationConfigApplicationContext
    Spring中好玩的注解和接口
    MyBatis使用总结
    设计模式的应用
    C#:网络传输问题
    工具软件:
    Rar安装包
    C#:注册组件 (cmd)
  • 原文地址:https://www.cnblogs.com/xuanhai/p/5806519.html
Copyright © 2011-2022 走看看