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

    技术2022-05-11  8

    代码如下(程序要另外引用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);//删除图片   } }

     

    最新回复(0)