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:

CodePlex  o PhpExcel

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

También te podría gustar...

1 respuesta

  1. Jose dice:

    hola, buen ejemplo pero si quiero que me lo descague en mi navegador en vez de crearlo en la carpeta como le hago?