Startseite › Foren › Deutsches LiveCode-Forum › Datagrid – Import CSV › Antwort auf: Datagrid – Import CSV
November 3, 2017 um 17:03 Uhr
#2564
Hallo Andreas,
die Spalten werden leider nicht automatisch erstellt.
Die Spalten kannst Du im Inspektor für Dein Datagrid erstellen.
Ein Klick auf das PLUS Zeichen erstellt eine neue Spalte.
Das Skript setzt voraus, daß die erste Zeile der CSV Datei die Spaltennamen enthält!
Tut sie das? Ich gehe mal davon aus, daß dem nicht so ist.
Ich habe das Skript mal etwas verschlankt, erstelle einfach mal fünf Spalten,
egal, wie die heissen und probiere dann dieses Skript aus und lies mekine Kommentare:
on mouseUp
## Deklarieren der Variablen ist nur erforderlich, wenn Du "Strict Compilatiuon Mode"
## in den Voreinstellungen für den Skript Editpr angekreutzt hast!
## local tFileName, tFileContents
answer file "Bitte eine CSV-Datei zum Import auswählen" with type "comma Separated Values|csv|CSV"
## Ich vermeide längere IF THEN END IF Klauseln, wo immer möglich :-)
## User hat CANCEL geklickt, es gibt also keinen Grund hier und jetzt weiter zu machen!
if the result = "cancel" then
exit mouseup
end if
put it into tFileName
## Inhalt der Datei in Variable lesen
put URL ("file:" & tFileName) into tFileContents
## Datagrids benötigen TAB getrennte Werte:
replace ";" with tab in tFileContents
## Nun einfach die Property "dgtext" des Datagrid auf diese Variable setzen
set the dgText of group "Dein Datagrid hier..." to tFileContents
## the dgtext[TRUE]... zeigt an, daß die erste Zeile der Datei die Spaltennamen enthält.
## Aber auch DAS würde die Spalten nicht erstellen, sondern dient nur dazu, die Daten
## in die richtigen Spalten einzulesen, sofern die REIHENFOLGE der Spalten in der
## CSV-Datei anders ist als im Datagrid in LC!
end mouseUp
Gruß
Klaus