php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger

PHP Einsteiger PHP Problemlösungen für Spracheinsteiger
Archive: 2004, 2004/2, 2005, 2005/2, 2006, 2007, 2008, 2009, 2010,

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 20.10.2011, 13:12  
Benutzer
 
Registriert seit: 06.10.2011
Beiträge: 79
PHP-Kenntnisse:
Anfänger
Moewe ist in Verruf geraten
Standard Der COM Befehl und Excel

Hallo,

hab aus den weiten des Net, mir follgendes Konstrukt erbaut:
PHP-Code:
function excelOeffnen()
   {
    
$tabelle = new COM("excel.application") or die("Unable to instantiate Excel");
    echo 
"Loaded Excel, version {$tabelle->Version}\n";    
    
//bring it to front
    
$tabelle->Visible 1;
    
$tabelle->Workbooks->Open("xeltest.xls");
   } 
is echt nett, nur ich bekomme diesen Fehler:
Loaded Excel, version 14.0
Fatal error: Uncaught exception 'com_exception' with message '<b>Source:</b> Microsoft Excel<br/><b>Description:</b> 'xeltest.xls' wurde nicht gefunden. Überprüfen Sie die Rechtschreibung des Dateinamens, und überprüfen Sie, ob der Speicherort der Datei korrekt ist. Wenn Sie versuchen, die Datei über die Liste der zuletzt geöffneten Dateien zu öffnen, stellen Sie sicher, dass die Datei nicht umbenannt, verschoben oder gelöscht wurde.' in C:\xampp\htdocs\Cronofant\trunk\files\crono_functi ons.php:642 Stack trace: #0 C:\xampp\htdocs\Cronofant\trunk\files\crono_functi ons.php(642): variant->Open('xeltest.xls') #1 C:\xampp\htdocs\Cronofant\trunk\files\cronolog_ste mpelzeiten.php(64): excelOeffnen() #2 {main} thrown in C:\xampp\htdocs\Cronofant\trunk\files\crono_functi ons.php on line 642

mmh. tja was ist da falsch. Also die Datei xeltest.xls liegt im gleichen Ordner wie die das PHP File, aus der die Datei aufgerufen wird.
Muss ich etwa den genauen Ort angeben? Das wäre sehr unflexible
Hoffe es geht anders und jemand von euch kennt dieses Anders.

Hab hier schon nach dem COM Befehl gesucht, aber die Suche ergab kene treffer.

Danke und Gruß
Moewe ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 20.10.2011, 13:17  
Erfahrener Benutzer
 
Registriert seit: 01.09.2010
Beiträge: 4.561
PHP-Kenntnisse:
Fortgeschritten
eagle275 ist ein sehr geschätzer Menscheagle275 ist ein sehr geschätzer Menscheagle275 ist ein sehr geschätzer Mensch
Standard

versuch doch erstmal herauszufinden, in welchem Ordner du dich momentan befindest -während der Script-Ausführung. Durch includes ist es möglicherweise nicht der Ordner, in dem dieses Script liegt ....

Handwerkszeug -> dirname() und verwandte Funktionen
__________________
"Irren ist männlich", sprach der Igel und stieg von der Drahtbürste
eagle275 ist offline   Mit Zitat antworten
Alt 20.10.2011, 13:25  
Benutzer
 
Registriert seit: 06.10.2011
Beiträge: 79
PHP-Kenntnisse:
Anfänger
Moewe ist in Verruf geraten
Standard

Zitat:
Zitat von eagle275 Beitrag anzeigen
versuch doch erstmal herauszufinden, in welchem Ordner du dich momentan befindest -während der Script-Ausführung. Durch includes ist es möglicherweise nicht der Ordner, in dem dieses Script liegt ....

Handwerkszeug -> dirname() und verwandte Funktionen
Da ich selbst durch includes stets im selben ordner bleibe ist das ziemlich einfach. Daher ja meine Frage, wenn beide im selben Ordner liegen, muss ich dann den kompletten Pfad angeben, oder liegt woanders der fehler?
Moewe ist offline   Mit Zitat antworten
Alt 20.10.2011, 13:26  
Erfahrener Benutzer
 
Registriert seit: 01.09.2010
Beiträge: 4.561
PHP-Kenntnisse:
Fortgeschritten
eagle275 ist ein sehr geschätzer Menscheagle275 ist ein sehr geschätzer Menscheagle275 ist ein sehr geschätzer Mensch
Standard

BULLSHIT

wenn dieses Script includiert wird, dann ist der aktuelle Ordner der Ordner der aufrufenden Datei
__________________
"Irren ist männlich", sprach der Igel und stieg von der Drahtbürste
eagle275 ist offline   Mit Zitat antworten
Alt 20.10.2011, 13:29  
Benutzer
 
Registriert seit: 06.10.2011
Beiträge: 79
PHP-Kenntnisse:
Anfänger
Moewe ist in Verruf geraten
Standard

Zitat:
Zitat von eagle275 Beitrag anzeigen
BULLSHIT

wenn dieses Script includiert wird, dann ist der aktuelle Ordner der Ordner der aufrufenden Datei
Ja, die PHP Files und dieses xls File liegen beide in einem Ordner. Da ist nirgendwas anderes, oder ich versteh nicht was du mir sagen willst. Wenn dem so ist sorry^^
Hab aus sicherheitgründen nun follgendes gemacht, hab eine Zeile verändert.
Dies:
PHP-Code:
$tabelle->Workbooks->Open("/xeltest.xls"); 
dazu:
PHP-Code:
$tabelle->Workbooks->Open(getcwd ()."/xeltest.xls"); 
Moewe ist offline   Mit Zitat antworten
Alt 20.10.2011, 13:44  
Benutzer
 
Registriert seit: 06.10.2011
Beiträge: 79
PHP-Kenntnisse:
Anfänger
Moewe ist in Verruf geraten
Standard

Auch wenn das Struckturtechnisch sehr schlecht sein mag, es sind alle php files sowie diese Datei in einem Ordner namens Files. Heißt immer wenn ich etwas include möchte reicht das hier:
PHP-Code:
include "beispiel.php"
sprich ich benötige kein:
PHP-Code:
include $Hauptverzeichis."/source/files/beispiel.php" 
Daher weiß ich nicht was ich sonst noch falsch haben könnte
Moewe ist offline   Mit Zitat antworten
Alt 20.10.2011, 13:50  
Erfahrener Benutzer
 
Benutzerbild von tr0y
 
Registriert seit: 26.07.2010
Beiträge: 4.874
PHP-Kenntnisse:
Fortgeschritten
tr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblick
tr0y eine Nachricht über MSN schicken
Standard

Bei einigen COM-Komponenten ist der Work-Path der Komponente selbst nicht der des Scripts, dort muss beim öffnen über ein COM-Objekt in jedem fall ein Absoluter Pfad angegeben werden.

PHP-Code:
$tabelle->Workbooks->Open(realpath('xeltest.xls')); 
__________________
Lasse mir ohne Anwendung von Gewalt Dinge schenken, Amazon weiß darüber bald mehr.
tr0y ist gerade online   Mit Zitat antworten
Alt 20.10.2011, 13:52  
Erfahrener Benutzer
 
Registriert seit: 25.09.2009
Beiträge: 2.114
PHP-Kenntnisse:
Fortgeschritten
BlackScorp wird schon bald berühmt werdenBlackScorp wird schon bald berühmt werden
Standard

vielleicht

PHP-Code:
$tabelle->Workbooks->Open("xeltest.xls"); 
__________________
Mein kleines Projekt
-Cruel Online-
5 von 3 Leuten können kein Bruchrechnen
BlackScorp ist offline   Mit Zitat antworten
Alt 20.10.2011, 14:05  
Benutzer
 
Registriert seit: 06.10.2011
Beiträge: 79
PHP-Kenntnisse:
Anfänger
Moewe ist in Verruf geraten
Standard

Also, ob realpath oder diese Veränderung:

PHP-Code:
function excelOeffnen()
   {
    
$tabelle = new COM("excel.application") or die("Unable to instantiate Excel");
    echo 
"Loaded Excel, version {$tabelle->Version}\n";    
    
//bring it to front
    
$tabelle->Visible 1;
    
$tabelle->Workbooks->Open(getcwd ()."/xeltest");
    
$tabelle->Workbooks->SaveAs('test.xml'46);
    
$tabelle->Workbooks->Close;
   } 
beiden führen zumindest schonmal zudem fehler:

Fatal error: Uncaught exception 'com_exception' with message '<b>Source:</b> Microsoft Excel<br/><b>Description:</b> Microsoft Excel kann auf die Datei 'C://xampp/htdocs/Cronofant/trunk/files/xeltest.xls' nicht zugreifen. Dies kann mehrere Gründe haben: • Der Name des Dokuments oder der Pfad ist nicht vorhanden. • Das Dokument wird von einem anderen Programm verwendet. • Der Name der Arbeitsmappe, die gespeichert werden soll, ist identisch zu dem Namen eines anderen Dokuments, welches schreibgeschützt ist.' in C:\xampp\htdocs\Cronofant\trunk\files\crono_functi ons.php:642 Stack trace: #0 C:\xampp\htdocs\Cronofant\trunk\files\crono_functi ons.php(642): variant->Open('C:/xampp/htdocs...') #1 C:\xampp\htdocs\Cronofant\trunk\files\cronolog_ste mpelzeiten.php(64): excelOeffnen() #2 {main} thrown in C:\xampp\htdocs\Cronofant\trunk\files\crono_functi ons.php on line 642

witzigerweise wird die datei trotz weglassens des Typs richtig gesucht. Schonmal eine errungenschaft
Moewe ist offline   Mit Zitat antworten
Alt 20.10.2011, 14:10  
Erfahrener Benutzer
 
Benutzerbild von tr0y
 
Registriert seit: 26.07.2010
Beiträge: 4.874
PHP-Kenntnisse:
Fortgeschritten
tr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblick
tr0y eine Nachricht über MSN schicken
Standard

Darf in dem Verzeichnis "Jeder" schreiben und lesen ?
__________________
Lasse mir ohne Anwendung von Gewalt Dinge schenken, Amazon weiß darüber bald mehr.
tr0y ist gerade online   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
PHP Befehl zu SSH gesucht flovo97 PHP Einsteiger 11 19.02.2011 15:02
Excel Export mit Content-type bawumme PHP Tipps 2009 6 05.08.2009 10:31
Excel 2007 zu CSV (->Mysql) strgg PHP Tipps 2009 16 17.06.2009 06:46
excel spreadsheet writer - excel 03 formatierung ok - andere excel 03 keine formatier taurus PHP Tipps 2009 4 03.02.2009 18:25
MySQL Befehl als default? DannyD Datenbanken 5 25.10.2006 17:38
Excel XML solitaer PHP Tipps 2006 9 30.04.2006 15:51
Excel Sheet innerhalb einer HTML Seite anzeigen PHP Tipps 2005-2 4 20.09.2005 13:32
Warning: filesize(): SAFE MODE Restriction in effect. nicobischof PHP Tipps 2005-2 9 17.08.2005 19:05
include Befehl! PHP Tipps 2005-2 0 05.08.2005 10:05
include Befehl! PHP Tipps 2005-2 0 05.08.2005 10:03
include Befehl! PHP Tipps 2005-2 0 05.08.2005 10:02
[Erledigt] include Befehl! PHP Tipps 2005-2 0 05.08.2005 10:01
include Befehl! PHP Tipps 2005-2 0 05.08.2005 09:59
Mit PHP Excel Makro ausführen PHP Tipps 2005 2 17.04.2005 02:06
Befehl erst nach Bestimmter Zeit ausführen? PHP Tipps 2005 21 28.02.2005 00:13

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
excel \com\ befehle, \microsoft excel kann auf die datei\ php, fatal error: uncaught exception \'com_exception\' with message, microsoft excel kann auf die datei nicht zugreifen. dies kann mehrere gründe haben:\\n\\n• der name des dokuments oder der pfad ist nicht vorhanden.\\n• das dokumen..., wurde nicht gefunden. überprüfen sie die rechtschreibung des dateinamens, und überprüfen sie, ob der speicherort der datei korrekt ist.\\n\\nwenn sie versuchen, die datei über die liste der zuletzt geöffneten dateien zu öffne, fatal error: uncaught exception \'com_exception\' \variant->open(\'c:/xampp/htdocs...\')\, \der name des dokuments oder der pfad ist nicht vorhanden\ \das dokument wird von einem anderen programm verwendet\, com befehle für excel, start excel ueberpruefen sie die rechtschreibung des dateinamens, und ueberpruefen sie, ob der speicherort der datei korrekt ist, com befehle excel

Alle Zeitangaben in WEZ +2. Es ist jetzt 16:17 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum