Generar Archivo Excel con PHP
En este post veremos como se realiza la creación de un archivo EXCEL con PHP y una de sus mejores librerías para llevar a cabo esta tarea «PHPExcel», sin mayor retraso comencemos !
Lo primero que necesitamos para realizar nuestro ejercicio es descargar la librería desde su pagina oficial:
Lo segundo y no se nos puede olvidar que cada librería que utilizaremos tenemos que importarla con la ruta donde se encuentre en nuestro proyecto.
require_once '../Classes/PHPExcel.php';
Ahora les daré un ejemplo completo de como realizar un simple documento de EXCEL.
< ? require_once '../Classes/PHPExcel.php'; class creacion_documentos{ protected function creacion_documentos_xsl(){ // Creamos el nuevo objeto de PHPExcel $objPHPExcel = new PHPExcel(); // Insertaremos las propiedades del documento $objPHPExcel->getProperties()->setCreator("QualityInfoSolutions") ->setLastModifiedBy("QualityInfoSolutions") ->setTitle("Office 2007 XLSX Test Document") ->setSubject("Documento de Prueba Excel") ->setKeywords("office 2007 openxml php") ->setCategory("Documento Prueba Excel"); // Agregaremos los datos de nuestro documento $objPHPExcel->setActiveSheetIndex(0) ->setCellValue('A1', 'Somos') ->setCellValue('B2', 'Quality!') ->setCellValue('C1', 'Info') ->setCellValue('D2', 'Solutions!'); // Renombrando hoja activa $objPHPExcel->getActiveSheet()->setTitle('Ejemplo Creacion Excel QualityInfoSolutions'); //Seleccionamos la hoja que estara seleccionada al abrir el documento $objPHPExcel->setActiveSheetIndex(0); // Guardamos el archivo Excel $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007'); $objWriter->save(str_replace('.php', '.xlsx', __FILE__)); } }
Y algo mas hasta el momento hemos puesto propiedades, generado filas con datos y seleccionado nuestra pagina,
Genial…. pero aun podemos hacer muchas cosas mas con esta libreria, una de ellas es darle formatos que estimemos necesario.
Ejemplo, poner colores en las celdas…
//Similar a un diccionario de columnas que utilizaremos $columnas = array("A", "B", "C", "D", "E"); //Iteraremos sobre cada columna dándole un formato for ($i = 0; $i < count($columnas ); $i++) { $objPHPExcel->getActiveSheet()->getColumnDimension($celdas[$i])->setAutoSize(true); $objPHPExcel->getActiveSheet()->getStyle($columnas [$i] . 1)->getFill() ->applyFromArray(array('type' => PHPExcel_Style_Fill::FILL_SOLID, 'startcolor' => array('rgb' => 'F28A8C') )); }
Documentacion de la librería: Documentacion GitHub
hola, buen ejemplo pero si quiero que me lo descague en mi navegador en vez de crearlo en la carpeta como le hago?