phpExcel - Yii обертка

Общие вопросы по использованию фреймворка. Если не знаете как что-то сделать и это про Yii, вам сюда.
Ответить
Аватара пользователя
Ghost_nsk
Сообщения: 825
Зарегистрирован: 2012.01.01, 00:45
Откуда: Новосибирск
Контактная информация:

phpExcel - Yii обертка

Сообщение Ghost_nsk »

народ у кого-нибудь есть нормальная обертка Yii вокруг phpExcel? :)
Аватара пользователя
ElisDN
Сообщения: 5845
Зарегистрирован: 2012.10.07, 10:24
Контактная информация:

Re: phpExcel - Yii обертка

Сообщение ElisDN »

Эх... Я без обёртки извращался.
S1lent
Сообщения: 47
Зарегистрирован: 2012.07.17, 09:20

Re: phpExcel - Yii обертка

Сообщение S1lent »

Что значит не помогает?
Всё же просто :

Код: Выделить всё

spl_autoload_unregister(array('YiiBase','autoload'));
Yii::import("ext.phpexcel.Classes.PHPExcel", true);
$objPHPExcel = new PHPExcel();
spl_autoload_register(array('YiiBase','autoload'));
А дальше делайте с $objPHPExcel всё что хотите.
melyfaro
Сообщения: 34
Зарегистрирован: 2012.04.14, 14:52

Re: phpExcel - Yii обертка

Сообщение melyfaro »

ДА я забыл отписаться :) Косяк в другом был
в xlsx там на серваке нужен phpzip
yii-user
Сообщения: 14
Зарегистрирован: 2014.07.16, 17:01

Re: phpExcel - Yii обертка

Сообщение yii-user »

В экшн контроллера прописал:
melyfaro писал(а):spl_autoload_unregister(array('YiiBase','autoload'));
Yii::import("ext.phpexcel.Classes.PHPExcel", true);
$objPHPExcel = new PHPExcel();
spl_autoload_register(array('YiiBase','autoload'));
Добавляются данные, затем:

Код: Выделить всё

header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
header('Content-Disposition: attachment;filename="myexample.xlsx"');
header('Cache-Control: max-age=0');

$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');
$objWriter->save('php://output');
exit;
Товарищи, подскажите, пожалуйста - на localhost работает. На сервере спотыкается на

Код: Выделить всё

$objWriter->save('php://output');
Выдает "веб-страница по адресу недоступна или перемещена".
Если перед этим поставить

Код: Выделить всё

echo '123';exit;
то пишет в файл 123 и сохраняет в текстовом формате с расширением xlsx.
Аватара пользователя
yiijeka
Сообщения: 3103
Зарегистрирован: 2012.01.28, 09:14
Откуда: Беларусь
Контактная информация:

Re: phpExcel - Yii обертка

Сообщение yiijeka »

C header что-то. Погуглите по запросу phpexcel php //output not working

https://phpexcel.codeplex.com/discussions/399119
....
Аватара пользователя
des1roer
Сообщения: 391
Зарегистрирован: 2015.02.06, 17:03
Контактная информация:

Re: phpExcel - Yii обертка

Сообщение des1roer »

Код: Выделить всё

    public function actionExcel()
    {
        spl_autoload_unregister(array('YiiBase','autoload'));
        Yii::import("ext.phpexcel.Classes.PHPExcel", true);
        $objPHPExcel = new PHPExcel();
        spl_autoload_register(array('YiiBase','autoload'));

/*        $objPHPExcel = new PHPExcel();

        $objPHPExcel->setActiveSheetIndex(0)
                ->setCellValue('A1', 'Hello')
                ->setCellValue('B2', 'world!')
                ->setCellValue('C1', 'Hello')
                ->setCellValue('D2', 'world!');

        $objPHPExcel->setActiveSheetIndex(0)
                ->setCellValue('A4', 'Miscellaneous glyphs')
                ->setCellValue('A5', 'eaeuaeioueiuyaouc');

        $objPHPExcel->getActiveSheet()->setTitle('Simple');

        $objPHPExcel->setActiveSheetIndex(0);

        ob_end_clean();
        ob_start();

        header('Content-Type: application/vnd.ms-excel');
        header('Content-Disposition: attachment;filename="test.xls"');
        header('Cache-Control: max-age=0');
        $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
        $objWriter->save('php://output');*/
    } 
получаю
Fatal error: Class 'CException' not found in D:\open\OpenServer\domains\localhost\yii\framework\YiiBase.php on line 323

Fatal error: Class 'CException' not found in D:\open\OpenServer\domains\localhost\yii\framework\web\CThemeManager.php on line 110
Ответить