[PHP] Problem mit Export von Daten in CSV

CrazyWolf

Lt. Commander
Registriert
Jan. 2004
Beiträge
2.047
Nabend.

Ich hab da ein kleines Problemchen. Und zwar will ich Daten aus der Datenbank als CSV-Datensätze exportieren. An sich ja kein Problem. Aber jetzt sind da Textfelder drin. In den Texten können Semikolons sowie auch Zeilenumbrüche sein. Jetzt ist in CSV ja ein Semikolon der Trenner zwischen Spalten, und Zeilenumbruch gibt für CSV eine neue Zeile an.
Kann man das irgendwie maskieren damit nachher in Excel das ganze wieder normal raus kommt?


Gruß
Wolf
 
Hallo,

wie exportierts du den die Daten?
Bei phpMyAdmin lässt sich zum Beispiel vor dem Exportieren einstellen, welches Zeichen als Trennzeichen verwendet werden soll. Somit kannst du als Trennzeichen einfach ein noch nicht verwendetet Zeichen bzw. eine Zeichenfolge festlegen und danach einfach mit einem beliebigen Editor die Semikola per Find&Replace maskieren und das Trennzeichen wieder zurückändern.

MfG mh1001
 
Zuletzt bearbeitet:
Das mach ich über PHP direkt, nicht in der Datenbank.
Damit die Datei in Excel richtig geöffnet werden kann, muss als Trennzeichen das Semikolon sein, und das mit dem Zeilenumbruch geht auch nicht anders zu lösen.
 
Ich verwende beim CSV-Export einfach Tabs als Trenner und das kann man auch in Excel importieren. Frag mich jetzt nicht wie, ich hab hier kein Excel, aber ich weiß dass es funktioniert. Der Tab sollte eigentlich selten in einem Text vorkommen, zur Sicherheit kannst du die ja vorher durch Leerzeichen ersetzen.
 
Wie wärs, wenn man mit urlencode() einfach alles in Hexadezimal-Schreibweise umwandelt? Erkennt Excel das dann trotzdem? Weil in den Texten würden alle Semikolons o.ä. einfach in %xx umgewandelt.
 
Bin mir nicht sicher ob sowas geht...

@Steffen
Danke, werd das mit dem Tabs mal testen. Das ist ja bei der Eingabe im Web ( input oder textarea eh nicht so möglich )
Wo ich mir noch was überlegen muss ist eben bei den textarea's, wenn dort Zeilenumbrüche drin sind. Denn Zeilenumbruch ist generell Datensatz-Trenner in Excel / CSV...
Vielleicht werd ich das dort ersetzen durch <br> und diese dann beim import wieder durch Zeilenumbrüche ersetzen. Oh man ist das verzwickt *g*
 

Ähnliche Themen

Zurück
Oben