Artículo

En una aplicación empresarial usualmente se deben generar archivos Ms Excel o Word, la librería PHPOffice (link: https://github.com/PHPOffice/) nos ayuda a generar archivos Excel, Word,Power Point, Project y Visio desde symfony2 o PHP clásico.

Dependiendo el archivo que queramos generar se necesita tener instalado una serie de librerías o extensiones para esto es necesario tener en cuenta el apartado de requisitos para cada uno.

Para generar archivos Excel y Word desde symfony vamos a nuestro composer.json y en require

agregamos esto:

  1. "phpoffice/phpword": "dev-master",
  2. "phpoffice/phpexcel": "dev-master"

Seguido a esto nos ubicamos en la carpeta de nuestro proyecto por la consola y actualizamos

nuestro composer así:

composer.phar update

Esperamos que termine de ejecutarse la actualización, luego para generar un archivo de Word en nuestro controlador agregamos las siguientes líneas de ejemplo:

  1. <?php
  2. ...
  3.  
  4. $phpWord = new \PhpOffice\PhpWord\PhpWord();
  5.  
  6. $section = $phpWord->addSection();
  7.  
  8. $section->addText('esta es una prueba de contenido');
  9.  
  10. $WordWriter = \PhpOffice\PhpWord\IOFactory::createWriter($phpWord, 'Word2007');
  11.  
  12. $WordWriter->;save('prueba1.docx');

Al ejecutar el controlador vemos que en la carpeta web aparece un archivo que se llama

prueba1.docx.

Puedes ver los ejemplos de la librería phpword en tu carpeta

vendor\phpoffice\phpword\samples

Ahora para generar un archivo Excel, con un cálculo simple de ejemplo en el controlador

agregamos estas líneas:

  1. <?php
  2. ...
  3. $phpExcel = new \PHPExcel();
  4.  
  5. $phpExcel->getActiveSheet()-&gt;setCellValue('A1', 'datos')
  6.  
  7. ->setCellValue('A2', 1)
  8.  
  9. ->setCellValue('A3', 2)
  10.  
  11. ->setCellValue('A4', 3)
  12.  
  13. ->setCellValue('A5', '=SUM(A2:A4)');
  14.  
  15. $ExcelWriter = \PHPExcel_IOFactory::createWriter($phpExcel, 'Excel2007');
  16.  
  17. $ExcelWriter->save('prueba1.xlsx');

Al ejecutar el controlador vemos que en la carpeta web aparece un archivo que se llama

prueba1.xslx.

Puedes ver los ejemplos de la librería phpExcel en tu carpeta

vendor\phpoffice\phpexcel\Examples

Dejar un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *