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?

Deja una respuesta

Tu dirección de correo electrónico no será publicada.