如何将数据库中数据导出为excel文件,能给源程序最好!
分不多就请见谅~~~~~~

解决方案 »

  1.   

    procedure TForm2.SpeedButton5Click(Sender: TObject);
      var
        MsExcel:Variant;
        i,m,n:integer;
        Exc:string;
    begin
       //SaveDialog1.Filter:='*.xls
       if Savedialog1.Execute then
          begin
            MsExcel:=createoleobject('Excel.application');
            msexcel.visible:=false;
            Msexcel.workbooks.add;
           //end;
               Adoquery1.Active:=false;
               Adoquery1.SQL.Clear;
               Adoquery1.SQL.Add('select * from baseinfo');
               Adoquery1.Active:=true;
               for n:=0 to Adoquery1.FieldCount-1 do
                 Msexcel.cells[1,n+1].value:=Adoquery1.Fields[n].DisplayLabel;
              Adoquery1.First;
              m:=2;
              //showmessage(Adoquery1.fieldvalues[1]);
              while not Adoquery1.Eof do
              begin
                for i:=0 to Adoquery1.FieldCount-1 do
                  begin
                    Exc:=Adoquery1.Fields[i].AsString;
                    Msexcel.cells[m,i+1].value:=Exc;//Adoquery1.FieldByName[i].AsString;
                  end;
                Adoquery1.next;//quotedstr(Adoquery1.FieldValues[1]);
                Inc(m);
              end;
              
            Msexcel.activeworkbook.saveas(savedialog1.FileName);
            //Msexcel.activebook.saved:=true;
            Msexcel.quit;
            Application.MessageBox('导出完毕','提示',Mb_ok)
           end;
    end;
      

  2.   

    1.         在SQL SERVER里查询access数据:-- ======================================================SELECT * FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0','Data Source="c:\DB.mdb";User ID=Admin;Password=')...表名------------------------------------------------------------------------------------------------- 2.         将access导入SQL server -- ======================================================在SQL SERVER 里运行:SELECT *INTO newtableFROM OPENDATASOURCE ('Microsoft.Jet.OLEDB.4.0',       'Data Source="c:\DB.mdb";User ID=Admin;Password=' )...表名------------------------------------------------------------------------------------------------- 3.         将SQL SERVER表里的数据插入到Access表中-- ======================================================在SQL SERVER 里运行:insert into OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',  'Data Source=" c:\DB.mdb";User ID=Admin;Password=')...表名 (列名1,列名2)select 列名1,列名2  from  sql表实例:insert into  OPENROWSET('Microsoft.Jet.OLEDB.4.0',    'C:\db.mdb';'admin';'', Test) select id,name from TestINSERT INTO OPENROWSET('Microsoft.Jet.OLEDB.4.0', 'c:\trade.mdb'; 'admin'; '', 表名)SELECT *FROM sqltablename
      

  3.   

    感谢大家,我先学习...学习...
    //楼主用五笔输入法的,鉴定完毕
    好眼力能根据我打错了一个字,看出我用的是五笔,这是我们程~~员应有逻辑思维.
    佩服得五体投地~~~~~~中国软件做世界龙头老大的日子不远了~~microsoft是什么东西
      

  4.   

    To: hellolongbin(一个人) ( ) 信誉:106 
    编译错误      
    这一句中的 MsExcel:=createoleobject('Excel.application');
    createoleobject是自定义的函数吗?