各位高手,
  我想问下,我安装了DevExpress VCL54这个版本的控件,但现在我想把CXGRID数据导出的EXCEL,有没有什么控件可以直接使用然后导出到EXCEL.

解决方案 »

  1.   

    在uses加入單元:cxGridExportLink
    再使用下列語句導出:
    ExportGridToExcel('C:\ExportFile\Test.xls',cxGrid1,True);
    下面是這個過程的定義:
    procedure ExportGridToExcel(const AFileName: string; AGrid: TcxGrid; AExpand: Boolean = True; ASaveAll: Boolean = True; AUseNativeFormat: Boolean = True; const AFileExt: string ='xls');
    我用的是6.4版本的,低版本也應有。我用版本4.5時就有,但單元與過程名不同。你可找下幫助。
      

  2.   

    1楼的方法是对的。
    uses cxGridExportLink;我倒出的代码是
    ExportGridToExcel('D:\Test.xls',cxGrid1);
    也可以用对话框完成  if SaveDialog1.Execute then
        ExportGridToExcel(SaveDialog1.FileName,cxGrid1);
      

  3.   

    不用控件。用delphi自带的就可以了。
        ExcelApplication1: TExcelApplication;
        ExcelWorksheet1: TExcelWorksheet;
        ExcelWorkbook1: TExcelWorkbook;
    procedure TForm1.toexcelClick(Sender: TObject);
    var
      i,j:integer;
      empty:OleVariant;
    begin
    if ADOQuery1.Active=true then
     begin
      try
        Excelapplication1.Connect;
      except
        MessageDlg('Excel可能没有安装', mtError, [mbOk], 0);
        Abort;
      end;  ExcelApplication1.Visible[0] := True;
      try
        empty := EmptyParam;
        ExcelApplication1.Workbooks.Add(empty,0);
        ExcelWorkBook1.ConnectTo(ExcelApplication1.Workbooks.Item[
                                             ExcelApplication1.Workbooks.Count]);
        ExcelWorkBook1.Activate ;
        ExcelWorksheet1.ConnectTo((ExcelWorkbook1.Worksheets[1] as _WorkSheet));
        for  j:=1 to ADOQuery1.RecordCount do
        begin
          for i:=1 to ADOQuery1.fields.Count  do
          begin
            excelworksheet1.Cells.Item[j,i]:=trim(ADOQuery1.fields[i-1].AsString)+#9;//
          end;
          ADOQuery1.Next;
        end;
      except
        ExcelWorkBook1.Close(xlDoNotSaveChanges);
        ExcelApplication1.Disconnect;
      end;
     end else showmessage('无数据可保存!');
    end;
    要记得关闭excel。。
    procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
    begin
    Excelapplication1.Disconnect ;
    end;


    百分百的通过!!!!!记得给分哦。!!!!!!