PHP-mysql-mit excel,word...

salo

Mitglied
Hallo,
ich arbeite mit php-mysql. ich wollte die Abfrage ergebnisse von mysql nicht unbedongt als html in browser darstellen sondern die ergebnisse mit zum beispiel excel darstellen. Ist das möglich, wenn dann wie?
Danke!
 
Indem Du eine CSV-Datei erstellst. Die kann Excel nämlich auch lesen.
Oder eine dBase-Datenbank.
Wenn Dein Server unter Windows läuft, kannst Du auch über die COM-Schnittstelle (Component Object Model) direkt eine Excel-Datei erstellen. Das habe ich allerdings noch nie probiert.

snuu
 
nunja wenn du das auf einer website einsetzen willst, dann wird es sich wahrscheinlich um einen UNIX-server handeln, wo es keine COM gibt.

Eine Möglichkeit sind die Spreadsheet Klassen.
http://www.sitepoint.com/article/pear-spreadsheet_excel_writer

Wenn du mit denen nicht klar kommst dann gibts noch eine andere unschönere variante:
eine xls Datei von Hand erstellen. An die entsprechenden Stellen eindeutige platzhalter schreiben, die exakt die Länge des einzufügenden texts haben (Bsp "zelle4_5xxxxxxxxxx").
Diese Datei lässt du dann im script öffnen und mit preg_match (osä) durchsuchen und ersetzt die platzhalter durch die daten aus der db. Wenn die einzufügenden Daten länger sind einfach whitespaces hinten anfügen.
Wichtig ist das die Länge der eingefügten Daten IMMER die selbe Länge wie die Platzhalter haben, weil andernfalls die BIF-records (schlecht implementierte außerdem noch patentierte Perversion von Microsoft) zerstört werden.
Wenn du Interesse an dieser Lösung hast kann ich eine Klasse posten die sich um das Suchen+Ersetzen und das whitespaces-auffüllen kümmert.
Aber wie gesagt das ist nicht die beste Variante. Das lohnt sich nur wenn du komplexe Formatierungen in deinem worksheet hast. Die sind mit den spreadsheet Klassen nämlich nur umständlich zu erstellen.
 
Zurück