请高手现手,为晚辈解答一个采用SaveDialog控件把DBGrid中的记录输出到Excel中???

解决方案 »

  1.   

    procedure  Tf_Normal.ExportToExcel(DbGrid:  TDBGrid;  Query:  TAdoQuery;ExcelApp:variant);  
    var  
       i,j,FieldNum:integer;  
    begin  
       with  Query  do  
       begin  
           DisableControls;  
           fieldNum  :=  dbgrid.fieldCount;  
           for  i:=1  to  fieldNum  do                                                    //写表头  
           begin  
               ExcelApp.Cells[1,i]:=Fields[i-1].FieldName;  
           end;  
           first;  
           i:=2;  
           while  not  eof  do  
           begin  
               for  j:=1  to  fieldNum  do  
               begin  
                   ExcelApp.Cells[i,j]:=fields[j-1].AsString;  
               end;  
               inc(i);  
               if  (i  mod  20)=0  then  
               ExcelApp.Cells[i+10,1].Activate;  
               next;  
           end;  
           EnableControls;  
       end;  
    end;  
    procedure  Tf_Normal.ButtonClick(Sender:  TObject);  
    var  
       ExcelApp:  variant;  
    begin  
       application.ProcessMessages;  
       try  
           ExcelApp:=createoleobject('Excel.application');  
       except  
           messageDlg('请先安装MicroSoft  Excel',mtError,[mbok],0);  
           exit;  
       end;  
       ExcelApp.Visible  :=  True;  
       ExcelApp.Caption  :=  '名字';  
       ExcelApp.WorkBooks.Add;  
       ExcelApp.WorkSheets[1].Activate;  
       ExcelApp.WorkSheets[1].name:='表名';  
       ExcelApp.ActiveSheet.Rows[1].Font.Bold:=  True;  
       ExcelApp.Columns[1].NumberFormatLocal:='@';  
       ExportToExcel(DbGrid:  TDBGrid;  Query:  TAdoQuery;ExcelApp:variant);  
       ExcelApp.WorkBooks.Close;  
       ExcelApp.Quit;  
    end;
      

  2.   

    其实可以把Excel看成一个数据库,或者说是一个数据表吧,其实你要做的事情就是把数据从一个数据库迁移到另一个数据库中。Excel可以用ODBC去连接
      

  3.   

    我想要的是用SaveDialog来启动“另存为”形式,来弹出一对保存对话框。然后点击保存。
      

  4.   

    if saveDialog1.excute then
    begin
      FileName:=SaveDialog1.FileName;
      //下面把dbgrid的数据写到FileName中去;
    end;
      

  5.   

    if saveDialog1.excute then
    begin
      FileName:=SaveDialog1.FileName;
      //下面把dbgrid的数据写到FileName中去;
    end;
    下面把dbgrid的数据写到FileName中去????????
    怎么写啊?
    请给出相应的小例子给小辈参考一下啊?
      

  6.   

    下面把dbgrid的数据写到FileName中去????????
    怎么写啊?
    请给出相应的小例子给小辈参考一下啊?///////////////////////////// jackie168(火星人) 兄不是已经给了代码了?
    把代码粘贴过来
      

  7.   

    procedure TForm1.Button1Click(Sender: TObject);
    var
      strSQL:string;
    begin
      if savedialog1.execute then
      begin
      try
        strSQL:='select * into [Excel 8.0;database='+savedialog1.filename].[sheet6] from ORDERS';
        ADOConnection1.Connected:=false;
        ADOConnection1.Execute(strSQL);
        showmessage('Successful');
        ADOConnection1.Connected:=true;
      except
        on e:exception do
        memo1.Text:=e.Message;
      end;
      end;
    end;
      

  8.   

    不行啊啊.
     提示这个有错误啊?
    strSQL:='select * into [Excel 8.0;database='+savedialog1.filename].[sheet6] from ORDERS';