Excel/Word-Dokument per PHP

UweB

Aktives Mitglied
Hallo,

vor einger Zeit hatte ich mal etwas gelesen, daß es möglich ist per PHP word bzw excel-Dokumente zu erstellen.
Leider habe ich diese Info nicht mehr. Ich erinnere mich nur, daß ein bestimmter Header erstellt wird bzw. versandt wird oder so ähnlihch.
Wer kann mir hier weiterhelfen.

Danke und Gruß
Uwe
 
Hallo,

mit irgendwelchen bestimmten Header hat diese Ansteuerung rein gar nicht zu tun, es sei denn man möchte die erstellten Dokumente direkt anzeigen bzw. herunterladen lassen.


Hier ein wichtiger Link dazu (Kommentare beachten, auch auf den Unterseiten): http://de.php.net/com


Voraussetzung für die Bearbeitung dieser Dateien ist natürlich erstmal ein Windows Server mit DCOM-Funktionalität [1] (ab Windows 2000 ist dies vorhanden, zumindestens hat es funktioniert), natürlich muss DCOM auch aktiviert sein, gleichzeitig müssen die entsprechenden Programme auf dem Server installiert sein, welche Du ansteuern möchtest. [2] Und nicht zu vergessen muss auch PHP den Zugriff darauf erlauben.

Wichtig ist noch, das Du den Task-Manager etwas im Auge behälst. Wenn Du nämlich das Programm nicht richtig beendest, bleiben die entsprechenden Prozesse ggf. erhalten. Irgendwann wird der Server dann langsam und Du wunderst Dich, ein gut bestückter Server [3] für den internen Einsatz, damit nicht mehr klar kommt, obwohl mal gerade 10 Leute auf die Anwendung zugreifen können.

Der Link zu den Word-Dateien von Florian hat einzig und alleine etwas mit der COM Klasse zu tun. Mit der COM Klasse können auch noch anderen Programme als nur das MS Office Paket angesprochen werden. Einfach etwas ausprobieren und mal schauen, welche Programme in der Liste zu finden sind. [4]



MfG Sascha Ahlers
  • [1] "Start" → "Ausführen..." → Eingeben: "dcomcnfg" → bestätigen
  • [2] Dcomcnfg starten und auf den Tab "Standardeigenschaften" gehen.
  • [3] Damals war schon ein Dual P4 2,4 GHz mit 1,5 GB DDR Speicher und DAS (Raid 5) etwas ziemlich schnelles für so eine kleine Anwendung.
  • [4] Dcomcnfg → Im Tab "Anwendungen" ist eine komplette Liste zu finden.
 
Als weitere Möglichkeit sei noch auf das Rich Text Format (.rtf) hingewiesen. Scheint etwas einfacher als Word zu sein...
 
Hallo Sasche,

QUOTE (Sascha Ahlers @ Do 26.1.2006, 0:06)es sei denn man möchte die erstellten Dokumente direkt anzeigen bzw. herunterladen lassen.


Ja, das war damit gemeint... Ich möchte die Doks direkt erstellen und anzeigen lassen.

Gruß Uwe
 
Hallo UweB,

QUOTE (UweB @ Do 26.1.2006, 18:27)[...] Ja, das war damit gemeint... Ich möchte die Doks direkt erstellen und anzeigen lassen. [...]


wir haben es damals darüber gelöst, dass wir die Datei mit dem COM Modul erstellt und temporär gespeichert haben [1]. Erst bei der Ausgabe wurde dann der Header mit den entsprechenden Content-Typ gesetzt. Zum Schluss wurde die Temporäre Datei ganz einfach ausgegeben (z. B. mittels readfile).
In der PHP-Dokumentation findest Du die allgemeine Angabe für den Content-Type [2] und unter selfHTML findest Du eine Liste der gängigsten MIME-Typen. [3]


RTF hört sich für Text-Dokumente auch recht interessant an, mittels eines entsprechendes Template-System, würde es wohl relative leiche sein, dies auch zu realisieren. Dies würde dann vermutlich auch Plattformunabhängig funktionieren.
Die beste Ausgabe stellt IMHO aber immer noch PDF dar, wenn es denn nichts spezielles sein soll.



MfG Sascha Ahlers
 
Wenn Du Word Dokumente erstellen möchtest und nicht über einen
Windows Server verfügst, kannst Du Trick 77 mit Anlauf probieren.

Voraussetzung ist, dass Du das Word-Dokument nicht on-the-fly neu
machen möchtest, sondern ein Template hast, wo Du einfach gewisse
Platzhalter ersetzen willst.

Wenn das so ist, probier mal folgendes:
1. Bau Dein Template mit Platzhaltern in Word
2. Speichere das Ding in Word als .htm File
Word wird jede Menge schepsen HTML Code schreiben, womit nur
Word selbst was anfangen kann, aber das ist im Moment egal.
3. Lade das Template mit fopen() in einen String
4. Ersetze deine Platzhalter
5. Speichere den String in eine Datei, diesmal mit .doc Endung

Das resultierende .doc sieht für den Endverbraucher aus wie ein normales
Word-Dokument, auch wenn es HTML Code enthält. Word merkt beim
Laden, dass da HTML drin ist und rendert entsprechend.

Viel spass
 
Zurück
Oben