将图片插入到excel中

  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中

上一篇:Linux驱动编写(块设备驱动代码)


下一篇:这个代码怎么改??Help快速排序 quicksort