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.     }  

    效果: 

  • 相关阅读:
    判断点是否在一个任意多边形中
    linux 内存布局以及tlb更新的一些理解
    java(内部类)
    java(面向对象 )
    java(数组及常用简单算法 )
    java(运算符,控制流程语句,函数 )
    deep-in-es6(七)
    Java(标识符,关键字,注释,常量,变量)
    MarkDown study:
    *LeetCode--Ransom Note
  • 原文地址:https://www.cnblogs.com/xuanhai/p/5806519.html
Copyright © 2011-2022 走看看