CSV Import
hallo delphi-praxis community.
Ich möchte gernen einen CSV import selber schreiben ohne eine Komponente dazu verwenden. Ich hab hier im Forum und auch mit anderen Suchmaschinen gesucht, leider nichts passendes gefunden. Der Import sollte in etwa so aussehen: Ich wähle die csv Datei aus , setzte ein Haken ob die csv - Datei einen Kopf besitzt, wenn ja werden die Header informationen ausgelesen und in die entsprechenden Comboboxen geschrieben die ich verwende um die Spaten der CSV - Datei den DB - Spalten zuzuordnen. Wenn das erledigt wurde , werden die Daten in die DB geschrieben . Danke für eure Mühe MB3rlin |
AW: CSV Import
Hallo,
Du könntest Dir mal die TStringList und da speziell, Delimiter, DelimitedText und StrictDelimiter anschauen. Grüße Klaus |
AW: CSV Import
Zitat:
|
AW: CSV Import
hallo, ich arbeite des Öfteren auch mit CSV Dateien:
vielleicht hilft dir mein Import ein bisschen weiter:
Delphi-Quellcode:
procedure TfrmMain.importFromCSVfile(sFile: string);
var tfDatei: TextFile; sZInhalt: string; slWerte: TStringList; iZeile: Integer; begin TRY TRY AssignFile(tfDatei, sFile); Reset(tfDatei); iZeile:= 0; while not EoF(tfDatei) do begin slWerte := TStringList.Create; Readln(tfDatei,sZInhalt); slWerte.Delimiter := ';'; slWerte.StrictDelimiter := True; slWerte.DelimitedText := sZInhalt; Inc(iZeile); // erste Zeile ist der Kopf if IZeile > 1 then // alles größer als Zeile eins sind Daten begin if slWerte.Strings[2] = '' then slWerte.Strings[2] := IntToStr(0); tTabelle.Open; tTabelle.Append; tTabelle['Spaltenname1'] := StrToInt(slWerte.Strings[0]); tTabelle['Spaltenname2'] := slWerte.Strings[2]; tTabelle.Post; end; end; EXCEPT MessageDlg('Est ist ein Fehler aufgetreten, der Prozess wird beendet.',mtError, [mbOK], 0); END; FINALLY CloseFile(tfDatei); tTabelle.Close; END; end; |
AW: CSV Import
Zitat:
|
AW: CSV Import
Danke erstmal für die schnellen Antworten ich werd es gleich mal ausprobieren :)
|
AW: CSV Import
Hi MB3rlin,
solltest du dich dazu entscheiden den Import wirklich selbst schreiben zu wollen würde ich dir auf jeden Fall folgende Spezifikationen ans Herz legen: http://tools.ietf.org/html/rfc4180 Da ich selbst schonmal eine Klasse zur Verarbeitung von CSV-Dateien geschrieben habe (allerdings in einer anderen Programmiersprache ) kann ich aus eigener Erfahrung sagen: so schwer wie es vielleicht auf den ersten Blick aussieht ist das gar nicht! Also hab ruhig Mut und versuche dich an einer eigenen Implementation, bevor du bereits fertigen Code nutzt :thumb: |
AW: CSV Import
Zitat:
|
AW: CSV Import
Danke für eure Hilfe , anhand der Beispiele von Metallicwar und Luckie hat es geklappt :)
|
AW: CSV Import
Ich weiß, dass hier wär ein wenig necro aber ich hätte noch eine Frage. Was für eine Klasse ist bei Metallicwar "tTabelle"?
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:08 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