目前我用AD0控件访问access2000的*.mdb数据库,请问如何将数据库中的表直接用ADO控件导出成*.dbf/*.db/*.xls文件格式的表。而无需通过Access2000的导出功能?盼答复

解决方案 »

  1.   

    with ItDtMdl.dtShare do
        begin
          Close;
          CommandText := ' select * from Daycard';
          Open;
        end;
        try
          ExportToExcel(Dbgrid1,edtDataByDay.Text);
          memoResult.Lines.Add(GetSysText('ExportDataByDayOk'));
        except
          ShowErrMsg('ExportDataByDayErr');
        end;
    Procedure TExportFrm.ExportToExcel(DBGrid1 : TDBGrid; FileName: string);
    var
      i, j: integer;
      F1Book1: TF1Book;
    begin
      try
        F1Book1 := TF1Book.Create(nil);
        for i := 1 to Dbgrid1.Columns.Count do
        begin
          F1Book1.TextRC[1,i] := Dbgrid1.Columns.Items[i-1].Title.Caption;
        end;
        Dbgrid1.DataSource.DataSet.First;
        j := 1;
        while not Dbgrid1.DataSource.DataSet.Eof do
        begin
          j := j + 1;
          for i := 1 to Dbgrid1.Columns.Count do
          begin
            F1Book1.TextRC[j,i] := Dbgrid1.DataSource.DataSet.Fields[i-1].AsString;
          end;
          Dbgrid1.DataSource.DataSet.Next;
        end;
        F1Book1.Write(Trim(FileName),F1FileExcel5);
      finally
        F1Book1.Free;
      end;
      //F1Book1.Free;
    end;