大家好:
   如何将cxgrid中的资料导出到excel中,且excel 中含有图片。见下图!图片数据是存放在数据库中的image字段中。谢谢!
  

解决方案 »

  1.   

    可以使用开源的NativeExcel来满足你的要求!下载回来后里面有相关的sample可以看看!
      

  2.   

    可以的,要导到2007-2010的格式的.试试下面的代码:
    type
      TSupportedExportType = (exHTML, exXML, exExcel97, exExcel, exPDF, exText);
    procedure TfrmMain.DoExport(AExportType: TSupportedExportType);
    var
      AFileName: string;  function GetFileName(var AFileName: string): Boolean;
      const
        DefaultExtensions: array[TSupportedExportType] of string =
          ('html', 'xml', 'xls', 'xlsx', 'pdf', 'txt');
        Filters: array[TSupportedExportType] of string =
          ('HTML File (*.html)|*.html',
           'XML File (*.xml)|*.xml',
           'Microsoft Excel 97-2003 Worksheet (*.xls)|*.xls',
           'Microsoft Excel 2007-2010 (*.xlsx)|*.xlsx',
           'Adobe Reader (*.pdf)|*.pdf',
           'Text file (*.txt)|*.txt');
      begin
        with TSaveDialog.Create(Self) do
        try
          DefaultExt := DefaultExtensions[AExportType];
          Filter := Filters[AExportType];
          FileName := dxFrameManager.ActiveFrame.ExportFileName;
          InitialDir := ExtractFilePath(Application.ExeName);
          Options := Options + [ofOverwritePrompt];
          Result := Execute;
          if Result then AFileName := FileName;
        finally
          Free;
        end;
      end;begin
      if not IsSupportExport(AExportType) then
      begin
        Application.MessageBox(PChar(sdxExportGridMessage), PChar(sdxExportGridMessageCaption),
            MB_ICONINFORMATION);
        Exit;
      end;
      if not GetFileName(AFileName) then Exit;
      dxFrameManager.ActiveFrame.DoExport(AExportType, AFileName);
      if (Application.MessageBox(PChar(sdxOpenFile + AFileName +' ?'), PChar(sdxConfirm),
        MB_ICONQUESTION + MB_YESNO) = ID_YES) then
       DoExecuteApplication(AFileName);
    end;
      

  3.   

    jfhyn
      您好!
      试了你给我的代码,还是不行。提示
      [Error] Unit1.pas(65): Undeclared identifier: 'dxFrameManager'。
      我用的版本是DEV 5.36版本。不知道您使用的是那个版本。
    谢谢!
      

  4.   

    给你个思路,把excel单元格的大小调整好,循环{把图片导进剪贴板,再选中单元格,再粘贴图片}
      

  5.   

    到网上这个版本吧,最新的.devcl20110106s.exe