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