搜索以下看,有从ACESS转化到EXCEL的代码,估计你也合用

解决方案 »

  1.   

    Procedure SavetoExcel(DBGrid1 : TDBGrid);
    var
      i, j: integer;
      F1Book1: TF1Book;
      XlsPath: string;
      SaveDialog1 : TSaveDialog;
    begin
      SaveDialog1 := TSaveDialog.Create(nil);
      SaveDialog1.Filter := 'Excel files (*.xls)|*.xls';
      if SaveDialog1.Execute = True then
        XlsPath := SaveDialog1.FileName
      else
        Exit;
      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(XlsPath)+'.xls',F1FileExcel5);
      finally
        F1Book1.Free;
      end;
      SaveDialog1.Free;
      F1Book1.Free;
    end;