通过c#从Excel导出OLE对象

时间:2016-03-09 13:07:31

标签: c# excel

我有一个带有脚本的excel文件:getPhotoSheet().OLEObjects.Add(Filename:=strPath, DisplayAsIcon:=False).Top,它将图片保存到文件中。 我需要将此文件导出到一个文件夹(我使用c#-app和#34; Microsoft.Office.Interop.Excel")。 我尝试过两种方式:

  1. 将文件另存为html-page。
  2. 按形状获取对象并将其复制到图表中。将图表保存到文件夹。 但它没有用,我只得到image
  3. 那么如何从excel导出图片?

1 个答案:

答案 0 :(得分:0)

所以,当我尝试"激活"这个对象(它是"包" ole-object或OLE Compound File),它复制在" C:\ Users \%username%\ AppData \ Local \ Temp&#34 ;;

我从excel中复制文件:

foreach (OLEObject obj in _WorkSheetExcel.OLEObjects())
{
      Hashtable hs = new Hashtable();
      DirectoryInfo direct = new DirectoryInfo(tempdir);
      foreach (FileInfo file in direct.GetFiles())
      {
          hs.Add(file.Name, null);//get all file names in tempdir
      }
      obj.Activate();//activate oleobject
      foreach (FileInfo file in direct.GetFiles())
      {
          if (!hs.ContainsKey(file.Name) && !file.Extension.ToLower().Contains("tmp"))//find new activated file 
          {
               FileInfo picture = file.CopyTo(pathpicture + picturename  + file.Extension); //copy picture to folder with original extension
               break;
          }
      }
}