PHPExcell
Publicado el 21. dic, 2009 by jbomba in PHP
Alguna ves deseastes exportar tus datos a formato de microsoft excell y se te hacia muy complejo, puedes utilizar la clase PHPExcell que es muy potente, ya que te permite agregar imagenes, realizar calculos, dentro del mismo libro de excell.
Comenzando
Lo primero es adquirir la clase PHPExcell la misma se encuentra por la version 1.7.1.
Luego que hemos descargado nuestra clase utilizamos la carpeta Classes que es la que cargaremos en nuestro servidor.
Creamos nuestro archivo .php en la cual incluimos el archivo PHPExcel.php desde la carpeta Classes, como en el ejemplo crearemos un excell en formato 2007 incluimos el PHPExcel/IOFactory.php el cual ya tiene incluido la clase PHPExcel.php
Setiamos las Propiedades
/** PHPExcel */
include 'PHPExcel/IOFactory.php';
// Creamos un nuevo objecto de la clase PHPExcell
$objPHPExcel = new PHPExcel();
// Setiamos las Propiedades
echo date('H:i:s') . " Set properties\n";
$objPHPExcel->getProperties()->setCreator("Maarten Balliauw");
$objPHPExcel->getProperties()->setLastModifiedBy("Maarten Balliauw");
$objPHPExcel->getProperties()->setTitle("Office 2007 XLSX Test Document");
$objPHPExcel->getProperties()->setSubject("Office 2007 XLSX Test Document");
$objPHPExcel->getProperties()->setDescription("Test document for Office 2007 XLSX, generated using PHP classes.");
// Agregamos los datos a las celdas correspondientes
$objPHPExcel->setActiveSheetIndex(0);
$objPHPExcel->getActiveSheet()->SetCellValue('A1', 'Hello');
$objPHPExcel->getActiveSheet()->SetCellValue('B2', 'world!');
$objPHPExcel->getActiveSheet()->SetCellValue('C1', 'Hello');
$objPHPExcel->getActiveSheet()->SetCellValue('D2', 'world!');
// Renombramos la sheet
$objPHPExcel->getActiveSheet()->setTitle('Simple');
Guardamos el excell en Formato 2007 con el nombre de nuestro archivo .php
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');
$objWriter->save(str_replace('.php', '.xlsx', __FILE__));
Si lo que se desea es la salida del excell directamente al browser, agregamos algunas cabezeras
y en el metodo $objWriter->save() en ves del nombre del archivo colocamos ‘php://output’.
Excell directamente al browser
header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
header('Content-Disposition: attachment;filename=".str_replace('.php', '.xlsx', __FILE__)."');
header('Cache-Control: max-age=0');
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');
$objWriter->save('php://output');




josue
18. jun, 2010
tengo un error de sintaxis aqui
header(‘Content-Disposition: attachment;filename=”.str_replace(‘.php’, ‘.xlsx’, __FILE__).”‘);
jmoran
22. jun, 2010
Que error te esta saliendo, si lo puedes detallar mejor??