Delphi-PRAXiS
Seite 4 von 6   « Erste     234 56      

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)

blema 20. Feb 2015 12:43

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

Aber nur so lange, wie Deine Daten in den Datenfeldern nicht auch das Trennzeichen enthalten
hm. Ich weiß nicht genau was du meinst?! Aber es funktioniert doch. Ansonsten Tab-Zeichen :-), danke

Jetzt muss ich das Programm erweitern mit eine möglichkeit mit Auswahl, z.B:
  • Edit-Feld für: Kunde
  • Edit-Feld oder ComboBox -> Items: für den Produktauswahl
  • Edit-Feld oder ComboBox für einen bestimmten Zeitraum.
Diese Daten dann in csv-exportiern
- die ausgabe mit mehreren Feldern: wie Kundennr. name, ort, tarif, zeitraum, verbrauch für den zeitraum usw.
den "select" habe ich schon. Das ist aus mehrere Tabellen.
...
Frage: kann man irgendwie mithilfe von DBComboBox einen Filter(Auswahl) aufbauen/zusammenbauen? Vlt. ein Link oder kl. Bspl.

Danke

VG blema

BadenPower 20. Feb 2015 13:43

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

Zitat von blema (Beitrag 1290744)
Zitat:

Aber nur so lange, wie Deine Daten in den Datenfeldern nicht auch das Trennzeichen enthalten
hm. Ich weiß nicht genau was du meinst?! Aber es funktioniert doch.

Die Ausgabe fünktioniert ja auch, aber das Einlesen nicht mehr, wenn in der Tabelle irgendwo Dein Trennzeichen vorhanden ist.


Beispiel:

Spalte1Spalte2Spalte3
x1du111
x2er und ich222
x3du, er und ich333
x4ich444

Dein Programm macht aus dieser Tabelle folgende Ausgabe, wenn das Trennzeichen ',' ist:

Code:
Spalte1,Spalte2,Spalte3
x1,du,111
x2,er und ich,222
x3,du, er und ich,333
x4,ich,444
So und nun teste die Ausgabe einmal in Excel.

blema 20. Feb 2015 13:59

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

die ausgabe mit dem Trennzeichen:
Code:
;  *funktioniert gut und wird in Excel ordnungsgemäß dargestellt
Code:
,  *csv-Datei in Excel nur in eine Spalte dargestellt
Code:
(#09) oder #09   *csv-Datei in Excel nur in eine Spalte dargestellt
hier nochmal mein Prog.:
Delphi-Quellcode:
var
  List: TStringList;
  SpaltenName : String;
  DatenFeld: String;
  I: Integer;
begin
  List := TStringList.Create;
  try
    FDQuery1.First;
    SpaltenName := '';
    for I := 0 to FDQuery1.FieldCount -1 do
      begin
          SpaltenName := SpaltenName + FDQuery1.Fields[I].Fieldname + #09;
      end;
      List.Add(SpaltenName);
    while not FDQuery1.Eof do
    begin
      DatenFeld := '';
      for I := 0 to FDQuery1.FieldCount - 1 do
      begin
        DatenFeld := DatenFeld + '' + FDQuery1.Fields[I].AsString + #09;
      end;
      List.Add(DatenFeld);
      FDQuery1.Next;
    end;
  finally
      List.SaveToFile('C:\Projekte\oraTOcsv.csv');
      List.Free;
  end;
vg blema

BadenPower 20. Feb 2015 14:18

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

Zitat von blema (Beitrag 1290754)
Hi,

die ausgabe mit dem Trennzeichen:

Du sollst Dir nicht Deine Ausgabe anschauen, sondern das was ich unter "Code" gepostet habe in eine Datei speichern und dann in Excel einlesen und anschauen und dann vergleichen, ob die Excel-Tabelle genau so auschaut, wie die Tabelle, welche ich gepostet habe.

ThomasBab 20. Feb 2015 14:19

AW: Daten aus OracleDB mit Delphi in csv exportieren
 
Beim Import in Excel muß als Trennzeichen TAB eingestellt werden. Dann funktioniert es zuverlässig.

BadenPower 20. Feb 2015 14:27

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

Zitat von ThomasBab (Beitrag 1290758)
Beim Import in Excel muß als Trennzeichen TAB eingestellt werden. Dann funktioniert es zuverlässig.

Aber auch wiederum nur, wenn Deine Daten KEIN Tab-Zeichen enthalten.

Es funktioniert nur dann und das mit JEDEM Trennzeichen zuverlässig, wenn die Daten "escaped" werden.

ThomasBab 20. Feb 2015 14:34

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

Zitat von BadenPower (Beitrag 1290761)
Zitat:

Zitat von ThomasBab (Beitrag 1290758)
Beim Import in Excel muß als Trennzeichen TAB eingestellt werden. Dann funktioniert es zuverlässig.

Aber auch wiederum nur, wenn Deine Daten KEIN Tab-Zeichen enthalten.

Es funktioniert nur dann und das mit JEDEM Trennzeichen zuverlässig, wenn die Daten "escaped" werden.

Das versteht sich von selbst.

Und weil ich trockener workoholic (faul) bin habe ich mir vor "Jahrzehnten" mal überlegt, für welches Zeichen die Wahrscheinlichkeit am höchsten ist, damit ich ohne "escapen" auskomme.
Ich kam zum Schluß, dass das TAB-Zeichen innerhalb einer Excel-Zelle nicht vorkommt und damit war die Sache für mich klar.

BadenPower 20. Feb 2015 14:41

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

Zitat von ThomasBab (Beitrag 1290763)
Ich kam zum Schluß, dass das TAB-Zeichen innerhalb einer Excel-Zelle nicht vorkommt und damit war die Sache für mich klar.

Wenn dies für Dich der richtige Weg ist, dann ok.

Aber das CSV-Format ist ja nicht Excel vorbehalten, sondern allgemein zur Weitergabe von Daten mehr oder weniger geeignet.

blema 20. Feb 2015 14:43

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

Zitat von BadenPower (Beitrag 1290757)
Zitat:

Zitat von blema (Beitrag 1290754)
Hi,

die ausgabe mit dem Trennzeichen:

Du sollst Dir nicht Deine Ausgabe anschauen, sondern das was ich unter "Code" gepostet habe in eine Datei speichern und dann in Excel einlesen und anschauen und dann vergleichen, ob die Excel-Tabelle genau so auschaut, wie die Tabelle, welche ich gepostet habe.

so sieht es bei mir unter Excel aus. Vorher habe ich den Text "unter Code" in eine *.txt-Datei gespeichert.
Spalte1Spalte2Spalte3 
x1du111 
x2er und ich222 
x3du er und ich333
x4ich444 
    

BadenPower 20. Feb 2015 14:49

AW: Daten aus OracleDB mit Delphi in csv exportieren
 
So, und genau das würde bei Dir dann auch passieren, wenn in Deinen Daten, welche Du aus der Datenbank herausliesst das Trennzeichen vorkommt.

Also zum Beispiel, wenn Dein Trennzeichen ',' ist und in Deinen Daten welche Du ausliesst der Text 'Er, du und ich' steht.


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:21 Uhr.
Seite 4 von 6   « Erste     234 56      

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