Delphi-PRAXiS
Seite 3 von 6     123 45     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Daten aus OracleDB mit Delphi in csv exportieren (https://www.delphipraxis.net/183973-daten-aus-oracledb-mit-delphi-csv-exportieren.html)

Jumpy 20. Feb 2015 08:07

AW: Daten aus OracleDB mit Delphi in csv exportieren
 
Zitat:

Zitat von jobo (Beitrag 1290650)
Zitat:

Zitat von blema (Beitrag 1290638)
Hi, ich habe gerade das in meinem Programm eingebaut, aber es ist immer noch wie unter #13. Kein Fehler aber auch keine SpaltenName.

Ich sehe nicht, wo der Wert Spaltenname ausgegeben wird. Das hast Du wohl vergessen.

Sprich es fehlt ein List.Add(Spaltenname)

jobo 20. Feb 2015 08:10

AW: Daten aus OracleDB mit Delphi in csv exportieren
 
Zitat:

Zitat von Jumpy (Beitrag 1290682)
Sprich es fehlt ein List.Add(Spaltenname)

Na das hätte er sicher noch rausbekommen. :)

blema 20. Feb 2015 08:53

AW: Daten aus OracleDB mit Delphi in csv exportieren
 
danke für die Tipps. Die Ausgabe funktioniert zwar nicht so wie es sein soll, aber immerhin es wird sowohl Spaltenname als auch Datenfeld angezeigt.
Delphi-Quellcode:
var
  List: TStringList;
  SpaltenName : String;
  DatenFeld: String;
  I: Integer;
begin
  SpaltenName := '';
  List := TStringList.Create;
  try
    FDQuery1.First;
    SpaltenName := '| ';
    for I := 0 to FDQuery1.FieldCount -1 do
    begin
        SpaltenName := SpaltenName + '' + FDQuery1.Fields[I].Fieldname + ' | ';
    end;
    while not FDQuery1.Eof do
    begin
      DatenFeld := '| ';
      for I := 0 to FDQuery1.FieldCount - 1 do
      begin
        DatenFeld := DatenFeld + '' + FDQuery1.Fields[I].AsString + ' | ';
      end;
      List.Add(SpaltenName);
      List.Add(DatenFeld);
      FDQuery1.Next;
    end;
  finally
    List.SaveToFile('C:\Projekte\oraTOcsv.csv');
    List.Free;
  end;
end;
Also das Problem ist, das: eine Zeile Spaltenname angezeigt und die nächste dann das Datenfeld, usw...und wie kriegt man hin, dass die Breite des Datenfeldes und Spalten-Breite gleich groß sind?

Besten Dank

VG blema

Klaus01 20. Feb 2015 09:16

AW: Daten aus OracleDB mit Delphi in csv exportieren
 
Hallo,

bei einem csv File ist es nicht zwingend notwendig das die Spalten gleich groß sind.
Der Spaltentrenner ist das "," und die Programme (Excel) welche das csv File dann einlesen
trennen die Spalten anhand des Spaltetrenners und nich anhand der Spaltengröße.

Grüße
Klaus

blema 20. Feb 2015 09:28

AW: Daten aus OracleDB mit Delphi in csv exportieren
 
Hallo Klaus,
ich habe gerade die csv Datei mit Excel geöffnet. Leider werden die Spalten auch nicht getrennt ^^. Es wird die ganze Datei in eine Spalte angezeigt. noch 'n Fehler^^..danke für den Tipp.
Aber, dass der Spaltename wiederholt wird, der Fehler ist immer noch drin.

VG blema

Klaus01 20. Feb 2015 09:35

AW: Daten aus OracleDB mit Delphi in csv exportieren
 
Delphi-Quellcode:
var
  List: TStringList;
  SpaltenName : String;
  DatenFeld: String;
  I: Integer;
begin
  SpaltenName := '';
  List := TStringList.Create;
  try
    FDQuery1.First;
    SpaltenName := '| ';
    for I := 0 to FDQuery1.FieldCount -1 do
    begin
        SpaltenName := SpaltenName + '' + FDQuery1.Fields[I].Fieldname + ' | ';
    end;
    // List.Add(SpaltenName) hier einfügen
    while not FDQuery1.Eof do
    begin
      DatenFeld := '| ';
      for I := 0 to FDQuery1.FieldCount - 1 do
      begin
        DatenFeld := DatenFeld + '' + FDQuery1.Fields[I].AsString + ' | ';
      end;
      List.Add(SpaltenName); // hier entfernen
      List.Add(DatenFeld);
      FDQuery1.Next;
    end;
  finally
    List.SaveToFile('C:\Projekte\oraTOcsv.csv');
    List.Free;
  end;
end;
Zu Excel,
Excel öffnen, Data Tab öffnen, aus TextDatei importieren.
Dann kannst Du in Excel den Spaltetrenner einrichten.
'|' ist kein csv Spaltentrenner.

Grüße
Klaus

BadenPower 20. Feb 2015 09:37

AW: Daten aus OracleDB mit Delphi in csv exportieren
 
Zitat:

Zitat von blema (Beitrag 1290694)
Hallo Klaus,
Aber, dass der Spaltename wiederholt wird, der Fehler ist immer noch drin.

Du fügst die Spaltennamen ja auch vor jedem Datensatz in die Liste ein.

Zitat:

Zitat von blema (Beitrag 1290694)
Hallo Klaus,
ich habe gerade die csv Datei mit Excel geöffnet. Leider werden die Spalten auch nicht getrennt ^^.

Du verwendest auch kein Komma als Trennzeichen.


Zu beachten ist auch:
Kein Trennzeichen vor der ersten Spalte
Keine Leerzeichen hinzufügen.

Denke auch bitte daran, dass Du Strings eventuell auch noch "quoten" und/oder "escapen" musst.

blema 20. Feb 2015 09:58

AW: Daten aus OracleDB mit Delphi in csv exportieren
 
jo, es klappt. Fehlerhaft war es das Trennzeichen und die Position der Ausgabe von der SpaltenName. Jetzt kann die csv-Datei auch mit Excel problemlos angezeigt werden.

Vielen Dank.

VG blema

BadenPower 20. Feb 2015 10:22

AW: Daten aus OracleDB mit Delphi in csv exportieren
 
Zitat:

Zitat von blema (Beitrag 1290704)
jo, es klappt.

Aber nur so lange, wie Deine Daten in den Datenfeldern nicht auch das Trennzeichen enthalten.

ThomasBab 20. Feb 2015 12:40

AW: Daten aus OracleDB mit Delphi in csv exportieren
 
Zitat:

Zitat von BadenPower (Beitrag 1290712)
Zitat:

Zitat von blema (Beitrag 1290704)
jo, es klappt.

Aber nur so lange, wie Deine Daten in den Datenfeldern nicht auch das Trennzeichen enthalten.

Deswegen nehme ich als Trennzeichen seit Jahrzehnten immer das Tab-Zeichen (#09) ;-)


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:04 Uhr.
Seite 3 von 6     123 45     Letzte »    

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz