forzar la descarga de archivo Excel generado con PHPExcel

2,466 views
Skip to first unread message

Pacey

unread,
Aug 8, 2009, 8:53:00 PM8/8/09
to symfony-es
Estimado

Estoy utilizando un plugin para Symfony sfPHPExcelPlugin el cual me ha
dado buenos resultados hasta ahora que he intentado forzar la descarga
del archivo generado.

Cada vez que ejecuto el código me da la descarga del archivo pero no
con el contenido esperado, este con errores.

el codigo es simple lo dejo para que puedan analizarlo.

<?php
$objPHPExcel = new sfPhpExcel();

$objPHPExcel->getProperties()->setCreator("XXX");
$objPHPExcel->getProperties()->setLastModifiedBy("XXX");
$objPHPExcel->getProperties()->setTitle("XXX");
$objPHPExcel->getProperties()->setSubject("XXX");
$objPHPExcel->getProperties()->setDescription("XXX");
$objPHPExcel->getProperties()->setKeywords("XXX");
$objPHPExcel->getProperties()->setCategory("XXX");

$objPHPExcel->setActiveSheetIndex(0);

$objPHPExcel->getActiveSheet()->setCellValue('A2', 'HOLA MUNDO');

$objPHPExcel->setActiveSheetIndex(0);

$filename = 'testExcel.xlsx';

header('Pragma: public');
header('Expires: 0');
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header('Content-Type: application/force-download');
header('Content-Type: application/octet-stream');
header('Content-Type: application/download');
header("Content-Disposition: attachment;filename={$filename}");
header('Content-Transfer-Encoding: binary');

$objWriter = new PHPExcel_Writer_Excel2007($objPHPExcel);
$objWriter->setOffice2003Compatibility(true);

$objWriter->save('php://output');

?>

Eso seria ojala tener pronta respuesta.

andrew cs

unread,
Aug 9, 2009, 6:09:48 PM8/9/09
to symfo...@googlegroups.com
Bueno aqui te dejo un pequeño tutorial para esto, es más crudito, sin plugin pero funciona, el punto es que veas que en tu codigo no colocas:
$this->setLayout(false);

por lo que está enviando tu excel dentro del layout, ya que como sabemos para la parte de la vista Symfony utiliza el patrón
Decorator.

Salu2.



--
solo mi almohada conoce el peso de mis sueños.

andrew cs

unread,
Aug 9, 2009, 6:11:14 PM8/9/09
to symfony-es
El ejemplo lo puedes ver en: http://symfonynerds.com/blog/?p=14

Pacey

unread,
Aug 28, 2009, 2:54:26 PM8/28/09
to symfony-es
Muchas gracias

fue de gran ayuda para sacar el informe que tenia pendiente hace ya
varias días

lo probe en mozilla y chrome y funciona no así en ie7 pero bueno era
de esperase

gracias.
Reply all
Reply to author
Forward
0 new messages