PHPExcel-integration in Zend Framework
wie kann ich die Integration der PHPExcel in meiner Zend-app.
Meine eigentliche Ordnerstruktur ist folgende:
/application
controllers
views
etc...
/library
My
Zend
PHPExcel
/public
index.php
Ich bereits gehören 'Meine' libs mit (in index.php):
require_once 'Zend/Loader/Autoloader.php';
$autoloader = Zend_Loader_Autoloader::getInstance();
$autoloader->registerNamespace('My_');
Ich jetzt auch verwenden möchten PHPExcel in einen meiner Controller wie:
$exc = PHPExcel_IOFactory::load('test.xls');
$excelWorksheet = $exc->getActiveSheet();
Was muss ich tun, damit es funktioniert und loszuwerden, die Class 'PHPExcel_IOFactory' not found
Ausnahme?
Danke.
-lony
P. S.: Eine einfache $autoloader->registerNamespace('PHPExcel_');
funktioniert nicht. Getestet habe ich es.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Legen Sie die PHPExcel Bibliothek in den Ordner "library", so wie hier:
Nächsten, die in Ihrer Anwendung.ini config Datei, fügen Sie die folgenden:
Das sollte es tun. Autoloader kümmert sich um den rest, und Sie können einfach starten Sie es mit dem Beispiel-code zu Lesen, eine Excel-Datei.
Update: zusätzlichen autoloaderNamespace wie vorgeschlagen von Kommentatoren
$autoloader->registerNamespace('PHPExcel_');
und es hat nicht funktioniert. Ihre Lösung nur die Einstellung aus derindex.php
zuapplication.ini
, aber es ist immer noch nicht ausgeführt.set_include_path(implode(PATH_SEPARATOR, array(realpath(APPLICATION_PATH . '/../library'),realpath(APPLICATION_PATH . '/../library/PHPExcel'),get_include_path())));
autoloaderNamespaces[] = "PHPExcel_"
aber auchautoloaderNamespaces[] = "PHPExcel"
hat den trick für mich.Fand ich eine Lösung:
Wenn jemand einen besseren haben, bitte postet!
@BoltClock: vielen Dank für die Aktualisierung der Tags.
Muss es sein, in Ihrem include-Pfad.
Wenn Sie jemals brauchen eine eigene autoloader hat, die für andere Bibliotheken, die nicht Folgen PSR-0 gibt es auch diese: Autoload PhpThumb mit dem Zend Framework (disclaimer: ich bin der Autor).
Ich weiß, es ist 2 Jahre her, seit die Frage gestellt wird, aber es kann helfen, jemand;
der einfachste Weg ( nicht der optimale) wird, um die PHPExcel-Ordner in Ihrem Öffentlichen und verwenden Sie dann die alten Weg ab;
(in Ihren controller-Aktionen):
Zusätzlich habe ich ein "\" auf die Zeile, wo PHPExcel_IOFactory verwendet In der Controller-Klasse:
Ich habe das gleiche Problem und habe es gelöst update der Komponist und in meinem Projekt Ordner phpoffice innerhalb der gespeicherten Verkäufer-Modul (nicht im lib).
Und das hinzufügen von "\" auf dem PHPExcel_IOFactory wo Sie es gesehen.