MySQL Daten in Excel-Datei exportieren
Maike
- php
0 MudGuard0 Maike0 Axel Richter
0 wahsaga0 Maike
0 Jörg Lorenz
Hallo,
ich habe in php ein Script geschrieben, dass Daten aus einer MySQL Tabelle ausliest, mit Semikolon trennt und anschließend als .xls Datei abspeichert. Das funktioniert soweit auch ganz gut. Ich kann die Datei auch in Excel öffen.
Das einzige Problem ist, dass Excel führende Nullen entfernt. Wenn ich die Daten allerdings in eine .txt Datei exportiere und dann in Excel öffne, kann ich beim Importieren für die einzelnen Spalten "Text" einstellen, sodass die führenden Nullen bleiben.
Leider brauche ich die Excel Datei direkt als .xls, weil die Daten per Email verschickt werden und ein bestimmtes Format haben müssen.
Kann mir jemand sagen, wie ich das vielleicht anstellen könnte? Vielleicht gibt es ja auch einen viel einfacheren Weg die Daten zu exportieren.
Danke für jede Hilfe,
Gruß Maike
Hi,
ich habe in php ein Script geschrieben, dass Daten aus einer MySQL Tabelle ausliest, mit Semikolon trennt und anschließend als .xls Datei abspeichert. Das funktioniert soweit auch ganz gut. Ich kann die Datei auch in Excel öffen.
Hm - .xls ist üblicherweise das Excel-interne Speicherformat, nicht semikolon-separierte Werte ...
Das einzige Problem ist, dass Excel führende Nullen entfernt.
Hast Du die Zahlenwerte in "" gesetzt?
Kann mir jemand sagen, wie ich das vielleicht anstellen könnte? Vielleicht gibt es ja auch einen viel einfacheren Weg die Daten zu exportieren.
Ggf. Excel per ODBC ansprechen und damit ein wirkliches .xls erzeugen (frag mich aber nicht nach Details)
cu,
Andreas
Hallo,
Hm - .xls ist üblicherweise das Excel-interne Speicherformat, nicht semikolon-separierte Werte ...
Sorry, ich meinte Tab, hab die Werte durch Tab getrennt, also \t
Hast Du die Zahlenwerte in "" gesetzt?
Ja, das bringt auch nichts.
Trotzdem danke für deine Antwort.
Maike
Hi,
Hm - .xls ist üblicherweise das Excel-interne Speicherformat, nicht semikolon-separierte Werte ...
Sorry, ich meinte Tab, hab die Werte durch Tab getrennt, also \t
.xls ist auch nicht tab-getrennt ...
cu,
Andreas
.xls ist auch nicht tab-getrennt ...
hmm, dann weiß ich auch nicht wie ich das anstellen soll...
Hallo,
Ggf. Excel per ODBC ansprechen und damit ein wirkliches .xls erzeugen (frag mich aber nicht nach Details)
Für alle, die es interessiert, es gibt eine weitere Möglichkeit, die ich mal genutzt habe. Folgende HTML-Datei:
<HTML>
<HEAD>
<TITLE>Anschriften</TITLE>
</HEAD>
<BODY>
<Table border="1">
<COLGROUP>
<COL>
<COL>
<COL STYLE="vnd.ms-excel.numberformat:@">
<COL>
<COL STYLE="vnd.ms-excel.numberformat:#.###,00">
</COLGROUP>
<TR>
<TD>Straße</TD>
<TD>Nr</TD>
<TD>PLZ</TD>
<TD>Ort</TD>
<TD>Betrag</TD>
</TR>
<TR>
<TD>Feldweg</TD>
<TD>12</TD>
<TD>03044</TD>
<TD>Cottbus</TD>
<TD>2500</TD>
</TR>
</Table>
</BODY>
</HTML>
kann mit EXCEL über Datei-Öffnen geöffnet werden und enthält(übergibt) die entsprechenden Zahlenformate.
viele Grüße
Axel
hi,
ich habe in php ein Script geschrieben, dass Daten aus einer MySQL Tabelle ausliest, mit Semikolon trennt und anschließend als .xls Datei abspeichert.
warum .xls?
standardendung für dieses datenformat ist eigentlich .csv.
und wirkliche .xls-dateien sind auch ganz anders aufgebaut IIRC, du verlässt dich also lediglich darauf, dass excel hier das eigentliche CSV-format automatisch erkennt.
Das einzige Problem ist, dass Excel führende Nullen entfernt. [...]
Kann mir jemand sagen, wie ich das vielleicht anstellen könnte?
evtl. zahlenfelder mal mit anführungszeichen einkleiden, um sie explizit als text zu kennzeichnen ...?
gruß,
wahsaga
Hallo,
warum .xls?
standardendung für dieses datenformat ist eigentlich .csv.
und wirkliche .xls-dateien sind auch ganz anders aufgebaut IIRC, du verlässt dich also lediglich darauf, dass excel hier das eigentliche CSV-format automatisch erkennt.
Ja das weiß ich auch. Aber die Daten sollen als .xls Datei verschickt werden. Es handelt sich hierbei um Produktdaten, die an Kelkoo gesendet werden sollen. Kelkoo hat als Musterdatei eine .xls Datei geschickt, die man mit den eigenen Produktdaten füllen und wieder zurück senden soll.... ?!
evtl. zahlenfelder mal mit anführungszeichen einkleiden, um sie explizit als text zu kennzeichnen ...?
Hab ich auch schon versucht...
Vielleicht kann man die Daten aber auch als .cvs Datei an Kelkoo senden... müsste ich mal ausprobieren, was die dann sagen!
Danke für deine Hilfe,
Maike
Hi,
Das einzige Problem ist, dass Excel führende Nullen entfernt. Wenn ich die Daten allerdings in eine .txt Datei exportiere und dann in Excel öffne, kann ich beim Importieren für die einzelnen Spalten "Text" einstellen, sodass die führenden Nullen bleiben.
wenn das mit dem Format nicht klappt, kannst Du auch mal versuchen, vor jede Zahl ein Hochkomma (') zu setzen.
Viele Grüße
Jörg