Einzelnen Beitrag anzeigen

HolgerCW

Registriert seit: 28. Nov 2006
Ort: Marl
1.207 Beiträge
 
Delphi XE7 Enterprise
 
#3

Re: Export -> CSV mit Überschriften

  Alt 4. Sep 2007, 11:09
Hi,

anbei mal die Exportierte CSV-Datei. -> CSV = verboten. Kann ich leider nicht hochladen

und mein Export Code:

Delphi-Quellcode:
//Exportieren eines DBGrids
procedure Exportieren(DBGrid: TDBGrid; Spalten:TStringList;Spaltennamen:TStringlist);
var
 Str: String;
 StrList: TStringList;
 I: Integer;
 T: Integer;
 Query :TQuery;
 MyFloat: Double;
 MyINt: Integer;
 MyDate: TDateTime;
begin

 I := 0;
 T := 0;

 StrList := TStringList.Create();

 Str := '';

 //Überschriften
 for T := 0 to Spalten.Count - 1 do
 begin

  Str := Str + Spaltennamen[T] + ';';

 end;

 StrList.Add(Str);

 Query := ((DBGrid.DataSource).DataSet as TQuery);

 Query.First;
 Query.DisableControls;

 //Daten
 while Query.Eof <> true do
 begin

  Str := '';

  for I := 0 to Spalten.Count - 1 do
  begin

   If Query['' + Spalten[I] + ''] <> Null then
   begin

    if TryStrToFloat(Query['' + Spalten[I] + ''], MyFloat) = True then
    begin

     Str := Str + floattostr(Query['' + Spalten[I] + '']) + ';';

    end
    else
    begin

     if TryStrToInt(Query['' + Spalten[I] + ''], MyInt) = True then
     begin

      Str := Str + inttostr(Query['' + Spalten[I] + '']) + ';';

     end
     else
     begin

      if TryStrToDate(Query['' + Spalten[I] + ''], MyDate) = True then
      begin

       Str := Str + datetostr(Query['' + Spalten[I] + '']) + ';';

      end
      else
      begin

       Str := Str + Query['' + Spalten[I] + ''] + ';';

      end;

     end;

    end;

   end
   else
   begin

    Str := Str + ' ;';

   end;

  end;

  StrList.Add(Str);
  Query.next;

  end;

  Query.EnableControls;

  //dann wird die Datei gespeichert
  StrList.SaveToFile('U:\Wächter\TerMaS\Files\Export_TerMaS.csv');

  //dann wird die Datei mit Excel geöffnet:
  ShellExecute(Application.Handle, 'OPEN', pchar('U:\Wächter\TerMaS\Files\Export_TerMaS.csv'), NIL, NIL, SW_NORMAL);

  //und schließlich die csv-Datei wieder gelöscht
  DeleteFile('U:\Wächter\TerMaS\Files\Export_TerMaS.csv');

end;
Schon mal danke.

Gruss

Holger
  Mit Zitat antworten Zitat