Здравствуйте! использую
https://packagist.org/packages/phpoffice/phpexcel$model = Product::find()->published()->all();
$objPHPExcel = new \PHPExcel();
// Add some data
$objPHPExcel->setActiveSheetIndex(0)
->setCellValue('A1', 'Фото')
->setCellValue('B1', 'Название')
->setCellValue('C1', 'Опт 1')
->setCellValue('D1', 'Опт 2')
->setCellValue('E1', 'Опт 3')
->setCellValue('F1', 'Опт 4')
->setCellValue('G1', 'Артикул');
$i = 1;
foreach($model as $product){
$i++;
$objPHPExcel->setActiveSheetIndex(0)
->setCellValue('B'.$i.'', $product->title)
->setCellValue('C'.$i.'', $product->opt_price1)
->setCellValue('D'.$i.'', $product->opt_price2)
->setCellValue('E'.$i.'', $product->opt_price3)
->setCellValue('F'.$i.'', $product->price)
->setCellValue('G'.$i.'', $product->id);
if (file_exists(Yii::getAlias('@webroot') . $product->images[0]->getUrl())) {
// Add a drawing to the worksheetecho date('H:i:s') . " Add a drawing to the worksheet\n";
$objDrawing = new \PHPExcel_Worksheet_Drawing();
$objDrawing->setName('Sample image');
$objDrawing->setDescription('Sample image');
$objDrawing->setPath(Yii::getAlias('@webroot').$product->images[0]->getUrl());
$objDrawing->setHeight(120);
$objDrawing->setCoordinates('A'.$i.'');
$objDrawing->setWorksheet($objPHPExcel->getActiveSheet());
}
}
// Rename worksheet
$objPHPExcel->getActiveSheet()->setTitle('Цены на все товары');
// Set active sheet index to the first sheet, so Excel opens this as the first sheet
$objPHPExcel->setActiveSheetIndex(0);
// Redirect output to a client’s web browser (Excel5)
header('Content-Type: application/vnd.ms-excel');
header('Content-Disposition: attachment;filename="pricelist.xls"');
header('Cache-Control: max-age=0');
// If you're serving to IE 9, then the following may be needed
header('Cache-Control: max-age=1');
// If you're serving to IE over SSL, then the following may be needed
header ('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); // Date in the past
header ('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT'); // always modified
header ('Cache-Control: cache, must-revalidate'); // HTTP/1.1
header ('Pragma: public'); // HTTP/1.0
$objWriter = \PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
$objWriter->save('php://output');
exit;
Но картинка не вставляется... Что я делаю не так?
Если вот тут указать неправильный путь
$objDrawing->setPath(Yii::getAlias('@webroot').$product->images[0]->getUrl());
то он ругается, у меня же проходит все гладко, поэтому я делаю вывод что дальше что то не так идет...