Hallo zusammen,
ich verwende die COM-Schnittstelle von PHP(5.2.11) um Exceldokumente zu erzeugen. (im Apache 2.2.14 eingebunden)
Das lief auch alles auf dem Windows Server 2003 und XP soweit halbwegs gut.
Auf dem Windows Server 2008 bekomme ich allerdings die Fehlermeldung
"Die SaveAs-Eigenschaft des Workbook-Objektes kann nicht zugeordnet werden" sobald ich eben die SaveAs-Methode des Workbookobjektes ausführe.
Auch wenn das jetzt hier PHP-Code ist, so ist vielleicht doch schon mal jemand in einer anderen Programmiersprache, wie z.b. C#, dieses Problem begegnet?
$exapp = new COM("Excel.Application") or Die ("Did not connect");
$wkb = $exapp->Workbooks->Add();
$exapp->Application->Visible = 1;
$sheet=$wkb->Worksheets(1);
$sheet->activate;
$sheet->Name="Control";
$strPath = "C:/xampp/htdocs/Control.xls";
if (file_exists($strPath)) {unlink($strPath);}
[B]$wkb->SaveAs($strPath);[/B]
$wkb->Close(false);
unset($sheet);[/PHP]
gibt es eine Einstellung in der php.ini die mir da weiter helfen könnte?
Oder vielleicht noch eine versteckte COM-Einstellung?
Oder einen Registryeintrag der dafür nötig ist?
Bei Windows habe ich unter [b]Verwaltung->Komponentendienst->Computer->Arbeitsplatz->DCOM->Microsoft Excel-Anwendung->Eigenschaften[/b] folgende Einstellungen:
Reiter [b]"Allgemein"[/b]: Authentifizierungsebene Standard (keine ebenfalls ausprobiert)
Reiter [b]"Ort"[/b]: Anwendung auf diesem Computer ausführen angewählt
Reiter "[b]Sicherheit[/b]": Jegliche Radiobuttons stehen auf Anpassen und bei allen ist der [b]Benutzer "Jeder"[/b] mit [b]allen Rechten[/b] zugewiesen
Reiter "[b]Identität[/b]": alle Optionen durchprobiert. Als [b]Benutzer "Administrator"[/b] und Benutzer in [b]Gruppe "Administratoren"[/b] ausprobiert
Der [b]Apache-Dienst[/b] lief sowohl unter dem [b]Systemkonto [/b]wie auch unter dem [b]Administratorkonto.[/b]
Das [b]Verzeichnis[/b] in dem die Exceldatei abgelegt werden soll hat ebenfalls [b]für "Jeder" alle Berechtigungen[/b]
Verwendet habe ich Excel XP, 2000, 2007 und sogar die 2010 Beta
Schon mal Danke für jede Hilfe.
Falls es noch jemanden weiterhilft ist hier ein Auszug aus dem Win-Sicherheitsprotokoll dazu: