Mailinglisten-Archive |
Hallo allesamt, hab ein kleines Problem bei der Kommunikation zwischen PHP und Excel über COM... Und zwar hab ich ein Excel-Dokument, welches ein Makro enthält, das die Verbindung zu einer Oracle-DB aufbaut, diverse Daten ausliest, einen XLS-Report erstellt und diesen schlussendlich abspeichert. Wenn ich nun über PHP ein Excel-COM-Objekt erstelle, darin das erwähnte XLS-File lade und das Makro eben über PHP und COM anstosse, haut leider irgendwie die Formatierung von numerischen Werten nicht hin (sprich: anstatt 100.000,00 steht dann 100000,000 im gespeicherten XLS-File). Dabei spielt es keine Rolle, ob ich das PHP Script über die Kommando-Zeile anstosse oder als WebSeite ansurfe. Wenn ich allerdings das Makro manuell aus der Excel-Applikation heraus starte, klappt die Formatierung im generierten XLS-File einwandfrei. Dachte mir deshalb, dass dies evtl ein generelles COM-Problem sein könnte und hab daraufhin noch weitere Tests in diese Richtung unternommen: 1) Eine C++ Applikation, die ebenfalls über COM das XLS öffnet und das Makro startet 2) Ein Visual-Basic-Script (.vbs), das über den Windows Scripting Host läuft und dann ebenfalls mit COM arbeitet In beiden Fällen war die Formatierung in Ordnung, was mich zu dem Schluss bringt, dass die COM-Implementierung in PHP für mein Problem verantwortlich zu sein scheint. Hab das Problem nun vorübergehend so gelöst, dass ich jetzt nicht mehr direkt mit PHP ein Excel-Objekt erstelle, sondern per PHP und exec() ein .vbs-File starte, welches dann letztendlich mit Excel und dem Makro kommuniziert... ist zwar ein Umweg, aber es funktioniert. Meine Umgebung: Win2k (dt), Apache 1.3.29, PHP 4.3.4 als Modul, Office 2000 Premium (dt) Hat jemand von Euch schon ähnliche Erfahrungen gemacht bzw hat einen Rat für mich? Schon mal Danke im Voraus & liebe Grüße aus Wien, Andy
php::bar PHP Wiki - Listenarchive