AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

CSV Datei erstellen

Ein Thema von AndiS75 · begonnen am 25. Nov 2005 · letzter Beitrag vom 29. Nov 2005
Antwort Antwort
Seite 1 von 2  1 2      
AndiS75

Registriert seit: 25. Nov 2005
42 Beiträge
 
#1

CSV Datei erstellen

  Alt 25. Nov 2005, 10:34
Hallo erstmal,

bin neu hier im Forum und hab gleich mal eine Frage.
Ich möchte einen String in eine CSV Datei exportieren. Hier mal kurz mein Quellcode.

Delphi-Quellcode:

//GCSV wurde vorher als TStrings deklariert

GCSV.Text := 'Fahrzeugart;Interner Name;Angebotsart;Kategorie;Marke;Modell;Leistung;' +
                 'Hubraum;EZ;TUV;AU;Kmstand;Preis;Haendlerpreis;VHB;Sofortkaufpreis;Startpreis;' +
                 'Wiederbeschaffungswert;Mwst. ausweisbar;Mwstsatz;Arbeitskosten;Lackkosten;' +
                 'Ersatzteilkosten;Reparaturkosten;Anzeigedauer;Angebotsende/Enduhrzeit;' +
                 'Waehrung;Land;PLZ;Kraftstoff;Automatikgetriebe;Tueren;Farbe;Metallic;' +
                 'Unfallfahrzeug;Schadenbeschreibung;Vorschaden/Altschaden;Neufahrzeug;' +
                 'Jahresfahrzeug;Oldtimer;Taxi/Mietfahrzeug;Garantie;Info/Ausstattung;' +
                 'ABS;ESP;Allradantrieb;Anhaengerkuplung;Klimaanlage;Alufelgen;Lederausstattung;' +
                 'Sitzheizung;Wegfahrsperre;Navigationsystem;Zentralverriegelung;Tempomat;' +
                 'Serviceheft;Elektrostarter;Katalysator;Halbverkleidung;Vollverkleidung;' +
                 'Windschild;Topcase;EBS;Hydraulik;Intarder;Ladebordwand;Retarder;Schiebetuer;' +
                 'Trennwand;Vorfuehrfahrzeug;Kran;Tragkraft;Nutzlast;Gesamtgewicht;Hubhoehe;' +
                 'Bauhoehe;Betriebsstunden;Sitze;Schadstoff;Kabinenart;Achsen;Schlafplatz;TV;WC;' +
                 'Kompressor;Fronthydraulik;Frontheber;Kuehlanlage;Lueftfederung;Zentralschmierung;' +
                 'Standheizung;Kueche;Kraftstoffverbr.innerorts;Kraftstoffverbr.ausserorts;' +
                 'Kraftstoffverbr.ca. (im Durchschnitt);CO2-Emissionen kombiniert;' +
                 'Fahrzeughalter/Ansprechpartner Name;Fahrzeughalter/Ansprechpartner Vorname;' +
                 'Fahrzeughalter/Ansprechpartner Telefon;Fahrzeughalter/Ansprechpartner Mobil;' +
                 'Fahrzeughalter/Ansprechpartner E-Mail;Fahrzeughalter/Ansprechpartner Strasse Haus- Nr;' +
                 'Fahrzeughalter/Ansprechpartner Ort;Fahrzeughalter/Ansprechpartner PLZ;' +
                 'Fahrzeughalter/Ansprechpartner Land';



                 if CBMwSt.Text = 'n.ausweisbarthen
                 begin
                   hMwSTAus := '0';
                 end
                 else
                 begin
                   hMwSTAus := '1';
                 end;

                 if CBMwSt.Text = 'Deutschlandthen
                 begin
                   hLand := 'D';
                 end;

                 if BesAutomatik.Checked then
                 begin
                   hAutoMa := '1';
                 end
                 else
                 begin
                   hAutoMa := '0';
                 end;

                 if CBMetallic.Checked then
                 begin
                   hMetallic := '1';
                 end
                 else
                 begin
                   hMetallic := '0';
                 end;

                 GCSV.Text := GCSV.Text + CBFzgArt.Text + ';' + EditGaNr.Text + ';' + 'restwert'
                 + ';' +
                 CBKateg.Text + ';' + CBMarke.Text + ';' + EditModell.Text + ';' + EditLeist.Text
                 + ';' +
                 EditHubraum.Text + ';' + '00/' + EditEZ.Text + ';' + '00/' + EditTUEV.Text + ';' +
                 '00/' + EditTUEV.Text + ';' + EditKM.Text + ';' + '0' + ';' + ';' + '0' + ';' +
                 '0' + ';' + '0' + ';' + '0' + ';' + EditWieder.Text + ';' + hMwSTAus + ';' +
                 CBMwStSatz.Text + ';' + EditLohn.Text + ';' + EditLack.Text + ';' + EditErsatz.Text
                 + ';' +
                 EditGesamt.Text + ';' + CBAnzDauer.Text + ';' + CBAnzEnde.Text + ';' + CBWaehr.Text
                 + ';' +
                 CBOrtPlz.Text + ';' + hLand + ';' + EditPlz.Text + ';' + CBKraftStoff.Text + ';' +
                 hAutoMa + ';' + EditTueren.Text + ';' + CBFarbe.Text + ';' + hMetallic + ';' + ''
                 + ';' +
                 MemoUnfall.Text + ';' + MemoVorSchaden.Text + ';';
    
    //SDCSV SaveDialog

    with SDCSV do
    begin
      Filter := 'CSV Dateien (*.csv)|*.csv';
      FileName := EditGaNr.Text;
      DefaultExt := 'csv';
      Options := [ofOverwritePrompt];

      if Execute then GCSV.SaveToFile(FileName);
Das Problem ist nun, dass die Datei erstellt wird aber nicht korrekt dargestellt wird. Wenn ich die CSV Datei mit dem Editor öffne, werden die Datenfelder und die Werte korrekt dargestellt. Öffne ich die CSV Datei aber mit Excel, stimmen die Feldern und Werte nicht mehr überein.

Gruß

Andreas
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#2

Re: CSV Datei erstellen

  Alt 25. Nov 2005, 10:36
Was gibst du denn bei Excel als Trennzeichen an bzw. was ist voreinegstellt? Und was heißt "stimmen die Feldern und Werte nicht mehr überein"?
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von Aenogym
Aenogym

Registriert seit: 7. Mär 2004
Ort: Schwerin
1.089 Beiträge
 
Delphi 7 Enterprise
 
#3

Re: CSV Datei erstellen

  Alt 25. Nov 2005, 10:38
inwiefern stimmen die daten nicht mit den feldern überein?
wenn die CSV im editor richtig angezeigt wird, dann hat wohl dien excel ein problem oder so

aenogym
Steffen Rieke
Was nicht buzzt, wird buzzend gemacht!
http://blog.base-records.de
http://www.base-records.de
  Mit Zitat antworten Zitat
AndiS75

Registriert seit: 25. Nov 2005
42 Beiträge
 
#4

Re: CSV Datei erstellen

  Alt 25. Nov 2005, 10:49
Das weiss ich eben nicht ob das Problem bei Excel liegt oder bei mir. Ich habe eine CSV Datei als Vorlage. Dort wird in A1 die Datenfelder angegeben und in A2 die Werte zu den Feldern. Trennzeichen ist Semikolon.
Bei meiner Datei werden in A1 die Datenfelder angegeben und in A2, B2, C2 usw. Wenn ich die erstellte CSV Datei im Editor öffne passt alles. Deshalb bin ich ein bischen verwirrt.
  Mit Zitat antworten Zitat
Benutzerbild von Aenogym
Aenogym

Registriert seit: 7. Mär 2004
Ort: Schwerin
1.089 Beiträge
 
Delphi 7 Enterprise
 
#5

Re: CSV Datei erstellen

  Alt 25. Nov 2005, 10:53
also hast möchtest du eine vertikale tabelle, dein delphiprogramm macht aber eine horizontale tabelle.

deine CSV-Datei sieht jetzt quasi so aus:

Code:
Feld1;Feld2;Feld3
Wert11;Wert12;Wert13
Wert21;Wert22;Wert23
damit du in excel aber das gewünschte aussehen bekommst, muss deine CSV-datei folgendermaßen aussehen:

Code:
Feld1;Wert11;Wert21
Feld2;Wert12;Wert22
Feld3;Wert13;Wert23
aenogym
Steffen Rieke
Was nicht buzzt, wird buzzend gemacht!
http://blog.base-records.de
http://www.base-records.de
  Mit Zitat antworten Zitat
AndiS75

Registriert seit: 25. Nov 2005
42 Beiträge
 
#6

Re: CSV Datei erstellen

  Alt 25. Nov 2005, 11:01
so sollte es sein(laut Vorlage!)
Delphi-Quellcode:
A1 = Fahrzeug; Kilometerstand; Farbe; Nummer; Kennzeichen;
A2 = Opel; 155555; Gelb; 12345; S-H 152;
und so ist es
Delphi-Quellcode:
A1 = Fahrzeug; Kilometerstand; Farbe; Nummer; Kennzeichen;
A2 = Opel; 155555; B2=Gelb; 12345; C2= S-H 152;
A,B,C beziehen sich auf die Excel Felder. Wie gesagt im Editor wird es korrekt angezeigt.

Also

Delphi-Quellcode:
Fahrzeug; Kilometerstand; Farbe; Nummer; Kennzeichen
Opel; 155555; Gelb; 12345; S-H 152;
Hintergrund : Es soll eine Schnittstelle werden. Die Daten werden im CSV Format übertragen!
  Mit Zitat antworten Zitat
Benutzerbild von Aenogym
Aenogym

Registriert seit: 7. Mär 2004
Ort: Schwerin
1.089 Beiträge
 
Delphi 7 Enterprise
 
#7

Re: CSV Datei erstellen

  Alt 25. Nov 2005, 11:21
hm,

also das semikolon trennt doch die einzelnen Zellen voneinander. deswegen kann ich es mir nicht erklären, wieso excel das bei dir so anzeigt.

im anhang siehst du, wie excel mir folgende CSV-datei anzeigt.
Code:
Fahrzeug; Kilometerstand; Farbe; Nummer; Kennzeichen;
Opel; 155555; Gelb; 12345; S-H 152;
Miniaturansicht angehängter Grafiken
csv_142.png  
Steffen Rieke
Was nicht buzzt, wird buzzend gemacht!
http://blog.base-records.de
http://www.base-records.de
  Mit Zitat antworten Zitat
AndiS75

Registriert seit: 25. Nov 2005
42 Beiträge
 
#8

Re: CSV Datei erstellen

  Alt 25. Nov 2005, 11:45
die Datei soll nicht in Excel importiert werden, sonder über eine Webschnitstelle. Ich muss die Datei im CSV Format übergeben.
Vorlage wie es aussehen sollte ist im Anhang.
Angehängte Dateien
Dateityp: zip vorlage-import_376.zip (1,4 KB, 15x aufgerufen)
  Mit Zitat antworten Zitat
Benutzerbild von Aenogym
Aenogym

Registriert seit: 7. Mär 2004
Ort: Schwerin
1.089 Beiträge
 
Delphi 7 Enterprise
 
#9

Re: CSV Datei erstellen

  Alt 25. Nov 2005, 12:01
hm in deinem code aus dem ersten beitrag sehe ich nirgends, dass du einen zeilenumbruch einfügst.
demnach würde sämtliche werte nacheinander in der textdatei stehen. und dann hast du den effekt, dass sich alle über eine zeile erstreckt.
Steffen Rieke
Was nicht buzzt, wird buzzend gemacht!
http://blog.base-records.de
http://www.base-records.de
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#10

Re: CSV Datei erstellen

  Alt 25. Nov 2005, 12:25
So was :

if CBMwSt.Text = 'n.ausweisbarthen ist sehr gefährlich. Was soll das machen, bzw. warum ein String-Vergleich ? Die Daten sollen geschrieben werden, oder ? Die Knackpunkte wurden allerdings bereits genannt : Trennzeichen und Zeilenende. Der Savedialog verkompliziert die Sache sowieso. Schreibe doch besser zeilenweise.
Gruß
Hansa
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:55 Uhr.
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