Gelöst CSV-Export sollte Felder nur als Text exportieren - nicht als Zahl
-
Anlass
Wenn ich Personendaten exportiere (im Notfall !!) werden z.b. Postleitzahlen nicht als String, sondern als Zahl exportiert. Das führt bei Postleitzahlen aus den neuen Ländern dazu, dass die führenden 0 beim Import nach Excel entfernt wird.
Anforderung
Beim Export nach CSV alles als Text exportieren (d.h. in Hochkomma eingefasst).
-
@bwl21 verschoben zu den Web-Wünschen.
-
Sollte eigentlich selbstverständlich sein, deutet aber möglicherweise auf ein darunterliegendes, gravierenderes Problem hin, nämlich dass die Postleitzahl tatsächlich als Zahl in der DB gespeichert wird. Postleitzahlen sind ja keine Zahlen im landläufigen Sinn, mit denen man nach Belieben rechnen kann. Auch die hier angesprochene führende Null lässt sich mit einem numerischen Datentyp nur dann abbilden, wenn man die deutsche Stellenanzahl (5) hart in den Code für die Anzeige bäckt.
Besser (weil allgemeiner) ist es, postalische Codes als Zeichenkette (z.B. VARCHAR(10) ) abzulegen. Damit lassen sich dann auch alpha-numerische Postal Codes a lá UK darstellen. Will eine Gemeinde die Adressen ihrer Missionar/innen im Ausland einpflegen, dann wäre ein numerischer Datentyp wahrscheinlich ein Hindernis.
Nun ja, vielleicht ist es aber wirklich nur ein Problem mit dem Export. Das können letztlich nur die Entwickler sagen.
-
öhm ... da verstehe ich euer Problem nicht. Öffnet doch die exportiere CSV mal mit einem Editor. Und was steht da: Die zu erwartende führende Null!
Beim Import in Excel einfach das Format der Spalte z. B. auf Text anpassen und dann kommt die 0 auch so an, wie es zu erwarten ist.
Aus der Datenbank kommt der richtige Wert; alles ist gut.
Diesen Wunsch können wir also eigentlich dicht machen.(getestet habe ich es natürlich mit LibreOffice Calc und nicht mit Excel, daber da funktioniert es einwandfrei)
-
bei Excel aber eben nicht nichtsdestotrotz ist die PLZ ein Textfeld. Es gibt ja auch PLZ mit Buchstaben drin (z.b. in USA)
-
@bwl21 das will ich jetzt wissen ... ich teste es gleich mal in einer VM mit Excel. Bis gleich ...
-
Dann ziehe ich meine Anmerkung und Votierung zurück...
Ich habe leider gerade keinen Zugang zu einem ChurchTools System und kann mir deshalb auch keine CSV-Datei mit verschiedenen Postleitzahlen exportieren. Wenn darin führende Nullen vorhanden sind, dann ist zumindest an der Oberfläche alles gut. Danke fürs Checken! -
So ... wenn man die CSV natürlich stumpf per Doppelklick öffnet ... okeee, dann verstehe ich es halbwegs. Aber Excel ist eben doof.
Gehe ich über DATEI // ÖFFNEN, dann kann ich mir wunderbar die Formate auswählen:
Bei LibreOffice erhalte ich diese Optionen auch via Doppelklick auf eine CSV.
-
Wir können hier vermutlich abschließen, oder @bwl21?
-
@andy nein, ich finde es einfach ein Bug, dass CT die PLZ nicht wie ein Textfeld behandelt. Das ist unabhängig von Excel.
Ich kann natürlich an CT-support eine Fehlermeldung schreiben.
CSV ist einfach doof - es ist ein historisches Übel
-
@bwl21 ich habe es eben getestet: ich konnte in CT problemlos und ohne Fehlermeldung die PLZ auch mit Buchstaben abspeichern. Daher vermute ich, dass dies bereits in ChirchTools korrektals Textfeld angelegt wird.
Der "Fehler" liegt hier bei Excel: Excel wandelt bei Öffnen einer CSV Datei automatisch alle Felder, die nur Ziffern enthalten, in einen Typ "Zahl" um.
CSV selbst kennt keine Dateitypen. Daher geht die Information "Textfeld" beim Export verloren -
@andrej es fehlen halt die Anführungszeichen für ein Textfeld. Aber die fehlen auch bei allen anderen Textfeldern. Ist aber dennoch problemlos möglich, ja.
-
@andy dann ist es erst recht ein Bug
-
ich benutze den CSV-Export sehr viel.
Meine Listen der TeilnehmerInnen exportiere ich - um einen Überblick zu erhalten.
Ich habe auch nicht immer Internet - so dass ich meine Listen alle Offline brauche. - und das geht leider nicht im CT
Ich exportiere hauptsächlich:
Vorname - Name - Geburtsdatum - und Gruppe
Zu den Gruppe wäre es gut, wenn nur die aktiven Gruppen exportiert würden - und nicht der ganze Historik. -
@andy Stimmt Andy; du hast Recht. Das hatte ich vergessen. Alle Strings, also Textformate, müssten in der csv Datei in "" stehen, dazu gehört dann auch die PLZ. Insofern würde ich es auch als Bug ansehen
-
Ich sehe das nicht als ChurchTools Bug.
In CSV Dateien müssen Zellen nur in Anführungszeichen stehen, wenn das Trennsymbol, also Komma oder Semikolon in dem Text vorkommt.
Dass Excel das nicht richtig interpretiert ist schlecht aber kein CT-Bug.
Wir könnten vielleicht trotzdem einfach alle Felder mit Anführungszeichen ausgeben, wahrscheinlich würde das das Excel Problem beheben.
-
@davidschilling das würde ich sehr begrüßen! Natürlich muss man dann die Anführungszeichen wieder quoten.
Es gibt ja einige bibliotheken, mit denen man direkt XLSX - Dateien erstellen kann. Ehrlich gesagt, würde ich das langfristig bevorzugen. Das hätte Vorteile
- man muss nicht mit dem fragilen CSV kämpfen
- man könnte auch Formatierungen und sogar Filter einfügen, d.h. für den Anwender wäre es schon deutlich komfortabler
- Wer csv braucht kriegt es da auch leicht wieder her
So habe ich es in einem anderen System gemacht und seither Ruhe an der Front
-
@davidschilling sagte in CSV-Export sollte Felder nur als Text exportieren - nicht als Zahl:
In CSV Dateien müssen Zellen nur in Anführungszeichen stehen, wenn das Trennsymbol, also Komma oder Semikolon in dem Text vorkommt.
Dass Excel das nicht richtig interpretiert ist schlecht aber kein CT-Bug.Da bin ich voll bei dir. Funktioniert wie gesagt mit LO auch tadellos.
-
Dieser Beitrag wurde gelöscht!