如何将Access中的数据表导成Excel格式?

解决方案 »

  1.   

    你到我站上下个操作EXCEL的例程看看,连上后就象操作普通的表一样操作就可以了。http://www.kaer.cn/default.aspx
      

  2.   

    你可以通过 ADO 数据集
    Access -> 数据集 -> Excel 以前有写过一个函数,希望对你有帮助unit XuLib;interface
    uses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, DB, DBTables, StdCtrls, ExtCtrls, Grids, DBGrids, Excel2000,
      OleServer, Mask, DBCtrls, ComCtrls;////////////////////////////////////////////////////////////////////////////////
    Procedure DBToExcel
    ( ModuleName : String ;  // Excel 模块文件名 *.Xlt
      FileName: String ;  // Excel 目标文件名 *.Xls
      DBGrid : TDBGrid ;  // TDBGrid 控件名
      Row : Integer ;  // 起始行
      Col : Integer   // 起始列
    ) ;
    ////////////////////////////////////////////////////////////////////////////////implementation////////////////////////////////////////////////////////////////////////////////
    //函数名 :  DBToExcel
    //
    //  功能 : 将TDBGrid 的数据导入到从某模板文件建立的 Excel 文档中,
    //  举例 :  DBToExcel( 'C:\ReportTable.Xlt', 'C:\ReportTable.Xls',
    //                       DBGrid1, 5, 1 ) ;                                                        //
    //  注意  :所指定的模板文件*.xlt, 必须已存在
    ////////////////////////////////////////////////////////////////////////////////
    Procedure DBToExcel
    ( ModuleName : String ;  // Excel 模块文件名 *.Xlt
      FileName: String ;  // Excel 目标文件名 *.Xls
      DBGrid : TDBGrid ;  // TDBGrid 控件名
      Row : Integer ;  // 起始行
      Col : Integer  // 起始列
    ) ;
    Var
          ExlApp : TExcelApplication ;
          ExlBook : TExcelWorkBook ;
          ExlSheet : TExcelWorkSheet ;
          i, j : Integer ;
          temp1, temp2 : OleVariant ;
    Begin
          // 判断指定的模板文件是否存在
          ModuleName := Trim(ModuleName) ;
          If FileExists(ModuleName)= False Then
             begin
                   ShowMessage( '模板文件: '+ ModuleName + ' 不存在 !' ) ;
                   Exit ;
             end ;      // 创建 Excel 服务器控件
          ExlApp := TExcelApplication.Create(nil);
          ExlBook := TExcelWorkBook.Create (nil);
          ExlSheet := TExcelWorkSheet.Create (nil) ;      // 连接 Excel 服务器
          Try
             ExlApp.Connect ;
          Except
             ShowMessage ('连接失败,可能没装 Excle') ;
             Abort ;
          End ;      // 从指定的模板文件*.xlt 新建一 Excel 文档
          temp1 := ModuleName ; temp2 := 1 ;
          ExlApp.Workbooks.Add( temp1, temp2) ;
          ExlBook.ConnectTo(ExlApp.Workbooks[1] );
          ExlSheet.ConnectTo(ExlBook.Worksheets[1] As _WorkSheet );      // 把 TDBGrid 的数据导入 Excel 中
          DBGrid.DataSource.DataSet.First ;
          i := Row ;
          While Not(DBGrid.DataSource.DataSet.Eof)  Do
            Begin
                  For j:=Col  To DBGrid.FieldCount+ Col-1  Do
                      ExlSheet.Cells.Item[i,j]:= DBGrid.Fields[j-col].AsString ;
                  DBGrid.DataSource.DataSet.Next ;
                  i := i+1 ;
            End ;      // 保存到 指定的文件
          FileName := Trim(FileName) ;
          IF FileExists(FileName) Then DeleteFile(FileName) ;
          ExlSheet.SaveAs(FileName);      // 关闭 Excel 服务器
          ExlApp.Disconnect ;
          ExlApp.Quit ;
     
     ExlApp.Free;  ExlBook.Free;  ExlSheet.Free;End; // End of The Procedure DbToExcel_2() /////////////////////////////////////
    end.