我参考了某位大哥的代码,实现存入excel的功能,但是保存的路径是固定的,我想利用
savedialog控件,跳出保存路径对话框,但不知到filename应该如何加上去,请各位指教:
procedure TForm1.Button2Click(Sender: TObject);
var
     xlsFilename :string;
     eclApp,WorkBook :variant ;
     a_filedNo,i,j :integer;begin      if SaveDialog1.Execute then
         showmessage(savedialog1.FileName)
      else
          exit;       //按下取消按钮
     a_filedNo :=Form1.DBGrid1.FieldCount  ;      //
    // showmessage(inttostr(a_filedno));
     xlsFileName :='文件名称.xls';
     //  xlsfilename:=savedialog1.FileName+'.xls';          try
                  eclApp :=CreateOleObject('Excel.Application');
                  WorkBook :=CreateOleObject('Excel.Sheet');
          except
                  showmessage('没有安装MS EXCEL');
                  exit;
          end;          try
                  WorkBook :=eclApp.workBooks.add ;                  for i :=1 to  a_FiledNo do      
                        begin
                            //eclApp.cells(1,i) :=Form3.DBGrid4.Columns[i-1].Title.caption ;
                            eclApp.cells(1,i) :=Form1.DBGrid1.Fields[i-1].FieldName ;
                        end;                    Form1.DBGrid1.DataSource.DataSet.First ;
                    for i :=1 to  Form1.a_ck.RecordCount   do    //Form3.a_recno                         begin
                            for j :=1 to  a_filedNo 
                              begin
                                      eclApp.cells(i+1,j) :=Form1.DbGrid1.Fields[j-1].Value ;
                              end;
                            Form1.DBGrid1.DataSource.DataSet.Next ;
                          end;
                    try
                                  WorkBook.saveas(ExtractFilePath(Application.ExeName )+xlsFileName);
                                  WorkBook.close;                                  showmessage('保存成功路径为:'+ExtractFilePath(Application.ExeName )+xlsFileName);
                    except
                                  showmessage('保存出错');
                    end;
             except
                 WorkBook.close;
                 eclApp.quit;
                 eclApp :=Unassigned;
         end;
end;
end.