用C#编程从数据库中读取图片数据导进Excel文件的方法

代码如下(程序要另外引用Excel.dll,文件见附件):

 

using System;
using System.IO;
using System.Data;
using System.Drawing;
using System.Drawing.Imaging;
using System.Windows.Forms;
using Excel;

private void EduceExcel()
 {
  string picPath=Directory.GetCurrentDirectory()+'//Excelpic.jpg';
  string ExcelName=Directory.GetCurrentDirectory()+'//ExcelModul.xls';
  string fileName = 'Excel'+DateTime.Now.ToString().Replace(':', '') + '.xls';
  Excel.Application app =new Excel.Application();//建立Excel对象
   app.Visible=true;//让Excel文件可见
   Workbook objbook;
   objbook = app.Workbooks.Add(ExcelName);
   Worksheet worksheet;
   worksheet =(Worksheet)objbook.Worksheets[1];
   Excel.Pictures pics=(Excel.Pictures)worksheet.Pictures(Type.Missing);//建立图片集合对象

   int TD=1;
   int p=1;
   PicItemColletion picItems= PicItem.Getpictems();//读取数据库图片数据集合
    foreach(PicItem PI in picItems)
    {
     if(PI.ImageData != null)
     {
     MemoryStream stream = new MemoryStream(PI.ImageData, 0, PI.ImageData.Length);
     
     Bitmap bitmap = new Bitmap(stream);

     bitmap.Save(picPath,System.Drawing.Imaging.ImageFormat.Jpeg);//保存临时图片文件到硬盘里
      if(File.Exists(picPath))
      {
      stream.Close();//关闭图像文件流

     Range range_1 =range=worksheet.get_Range('A'+TD.ToString(),'A'+TD.ToString());
     //获取填充单元格范围
             
      pics.Insert(picPath,Type.Missing);//获取图片

      Excel.Picture pic = (Excel.Picture )pics.Item(p);//建立图片集合某一图片对象

       pic.Left = (double)range_1.Left;
       pic.Top = (double)range_1.Top;
       pic.Height =(double)range_1.Height;
       pic.Width =(double)range_1.Width;
       TD=TD+1;
       p=p+1; 
      }
    }

   if(File.Exists(picPath))
   {
    File.Delete(picPath);//删除图片
   }
 }

 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值