Mit COM Excel öffnen - Immer "Datei nicht gefunden"
Zauberer
- php
Hallo alle zusammen.
Habe gerade ein Problem wofür ich keine Lösung finde. Zuerst mal ein wenig Code:
$excel= new COM("excel.application") or die("Öffnen geht it");
$excel->Workbooks->Open("test.xls");
Nun bekomme ich die Fehlermeldung (Die Datei wird nicht gefunden aber sie existiert und ist nicht geöffnet):
Fatal error: Uncaught exception 'com_exception' with message 'Source: Microsoft Excel
Description: 'test.xls' wurde nicht gefunden. Überprüfen Sie die Rechtschreibung des Dateinamens und überprüfen sie, ob der Ort der Datei korrekt ist. Wenn Sie versuchen, die Datei über die Liste der zuletzt verwendeten Dokumente im Menü 'Datei' zu öffnen, überprüfen Sie dass die Datei nicht umbenannt, verschoben oder gelöscht wurde.' in D:\intranet\bluber.php:4 Stack trace: #0 D:\intranet\intranet\bluber.php(4): variant->Open('test.xls') #1 {main} thrown in D:\intranet\intranet\bluber.php on line 4
Es ist egal ob ich das Dokument nur mit dem Dateinamen anspreche oder den kompletten Pfad angebe. Auch ob ich Open() oder Add() verwende macht keinen unterschied. Auch ob der Apache als Service oder Normal läuft ist egal.
Ich vermute mal irgendein Problem bei der Rechtevergabe-das seltsamme bei dieser vermutung ist aber, dass Zugriffe auf word.application-objekte problemlos funktionieren.
Wer weiß Rat?
Danke
MfG
Der Zauberer
Hallo Zauberer,
Es ist egal ob ich das Dokument nur mit dem Dateinamen anspreche oder den kompletten Pfad angebe.
Meinst Du mit "kompletter Pfad" eine URL (wie zB '/intranet/test.xls') oder den kompletten Pfad im Filesystem des Servers (bei Windows zB 'c:\webroot\intranet\test.xls' oder *nix zB '/webroot/intranet/test.xls');
Was sagt denn file_exists() zu der Datei?
Gruß,
Stefan
Hallo Stefan
Meinst Du mit "kompletter Pfad" eine URL (wie zB '/intranet/test.xls') oder den kompletten Pfad im Filesystem des Servers (bei Windows zB 'c:\webroot\intranet\test.xls' oder *nix zB '/webroot/intranet/test.xls');
Habe probiert den kompletten Pfad im Filesystem des Servers (also Hier "D:/intranet.../test.xls") und nur den Dateinamen ("test.xls"). Gibt das selbe Ergebnis.
Was sagt denn file_exists() zu der Datei?
file_exists gibt in beiden Fällen true aus.
Was mir noch aufgefallen ist:
Wenn ich keinen Parameter angebe ergibt Add() keine Fehlermeldung, open() jedoch schon.
Auserdem ergibt bei mir $excel->Visible = 1; kein Ergebnis. Es hat sich (egal was ich probiert habe) noch nie ein Excel Fenster geöffnet (Excel.exe ist jedoch im Windows Task-Manager vorhanden)
Habe keine Ahnung an was das liegen könnte.
Danke für Die Hilfe
Der Zauberer