PHPExcel pomocí composeru
- phoffman
- Člen | 7
Ahoj,
chci použít ve svém projektu PHPExcel.
Přes composer jsem si nahrál knihovnu:
v příkazovém řádku jsem napsal:
composer require PHPOffice\PHPExcel
ve složce vendor mi přibyla složka phpoffice.
Udělal jsem si v adresáři www podsložku xlsx a vložil jsem do ní soubor plan.xlsx.
pak jsem v jednom z presenterů napsal tento kód (dle příkladu na netu)
public function renderExceltest() {
parent::renderDefault();
$this->template->subMenu = $this->subMenu();
//open template excel
$objPHPExcel = PHPExcel_IOFactory::load("/xlsx/plan.xlsx");
//modify data
$objPHPExcel->setActiveSheetIndex(0)
->setCellValue('D8', "Toto jsem napsal v PHP")
->setCellValue('E8', "Toto taky")
->setCellValue('F8', "to bymohlo stačit");
//save file
$objWriter = new PHPExcel_Writer_Excel2007($objPHPExcel);
$objWriter->save("/xlsx/plan2.xlsx");
}
Dostávám fatal error, že nelze nalézt třídu:
Class 'App\Presenters\PHPExcel_IOFactory' not found
zkoušel jsem do presenteru přidat různé kombinace use PHPOffice…ale nevím co jsem udělal špatně, že se mi nedaří načíst knihovnu.
- Šaman
- Člen | 2666
Jedna z nejčastějších chyb, která je tu jen poslední týden už asi
třikrát.
Pokud kdykoliv nějaká chyba začíná
Class 'App\Presenters\… not found
a přitom ta třída není
v tomto namespace, pak ti chybí buď
<?php
use PHPExcel_IOFactory;
?>
nebo používej kompletní název i s NS, tedy s lomítkem na začátku
<?php
$objPHPExcel = \PHPExcel_IOFactory::load("/xlsx/plan.xlsx");
?>
Editoval Šaman (13. 4. 2016 1:18)