zoukankan      html  css  js  c++  java
  • [转] 从数据库中读取图片并导入Excel文件,C#方式

    原文地址, 作者 Lvyou1980

    直接源码吧。

    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);//删除图片
       }
     }
    
  • 相关阅读:
    HDU1720 A+B Coming
    HDU1390 ZOJ1383 Binary Numbers
    HDU1390 ZOJ1383 Binary Numbers
    HDU2504 又见GCD
    HDU2504 又见GCD
    HDU1335 POJ1546 UVA389 UVALive5306 ZOJ1334 Basically Speaking
    HDU1335 POJ1546 UVA389 UVALive5306 ZOJ1334 Basically Speaking
    HDU1020 ZOJ2478 Encoding
    HDU1020 ZOJ2478 Encoding
    HDU2097 Sky数
  • 原文地址:https://www.cnblogs.com/arxive/p/5781803.html
Copyright © 2011-2022 走看看