Procedimiento


1.- Si ya contamos con PEAR instalado en nuestro servidor, podemos adelantarnos estos pasos. De lo contrario, debemos ir al directorio donde tenemos la instalación de PHP (Si instalamos Xampp, sería c:\xampp\php\).


2.- Dentro de ese directorio encontraremos un archivo llamado go-pear.bat





3.- Ejecutamos el archivo y se iniciará la instalación de PEAR. Si al iniciar nos aparece algún Warning o Error, es muy probable que ya contemos con PEAR instalado en nuestro sistema, por lo que no será necesario llevar a cabo el proceso.

4.- Una vez que termine la instalación, debemos proceder a la instalación del paquete Spreadsheet Excel Writer. Para eso vamos a Menu Inicio > Ejecutar y escribimos cmd para abrir Símbolo de sistema.

5.- Con Símbolo de sistema abierto, nos trasladamos al directorio de PHP, el mismo donde hicimos la instalación de PEAR y escribimos el siguiente comando:
pear install Spreadsheet_Excel_Writer-0.9.1





6.- Al ejecutar el comando anterior, se instalará el paquete:


7.- Con esto ya tenemos nuestro paquete instalado y podemos empezar a programar. Para esto abrimos nuestro editor Web o entorno de programación para PHP y creamos un nuevo archivo al que llamaremos ejemplo.php.

8.- Generaremos un código como el siguiente (comentarios en negrita, cursiva y entre /* y */):

  1. <!--?php  
  2. /* Llamamos a la clase que ejecutará la exportación a Excel. Esta clase está guardada en el directorio que tenemos habilitado por defecto en nuestro php.ini para los include y require. Si no hemos modificado el php.ini no debemos cambiar nada acá */  
  3. require_once 'Spreadsheet/Excel/Writer.php';  
  4.   
  5. /* Creamos un nuevo objeto de tipo Spreadsheet_Excel_Writer que refleja un nuevo libro de Excel */  
  6. $libro = new Spreadsheet_Excel_Writer();  
  7.   
  8. /* Definimos mediante el método send que el archivo debe enviarse al usuario al ejecutar el código y le damos el nombre que tendrá. En este caso ejemplo.xls */  
  9. $libro--->send('ejemplo.xls');  
  10.   
  11. /* Definimos una variable y se la asignamos a nuestro objeto como una hoja del mismo mediante el método addWorksheet, el cual lleva como parámetro el nombre de la hoja. Tal como si crearamos una en un libro normal de Excel */  
  12. $hoja =&$libro->addWorksheet('Hoja de prueba');  
  13.   
  14. /* Escribimos los datos en la hoja mediante el método write, el cual toma como parámetros el número de fila, número de columna y el contenido. Si es texto debe ir entre comillas como una cadena. */  
  15. $hoja->write(0, 0, 'Nombre');  
  16. $hoja->write(0, 1, 'Apellido');  
  17. $hoja->write(1, 0, 'Maria');  
  18. $hoja->write(1, 1, 'Lopez');  
  19. $hoja->write(2, 0, 'Eulalio');  
  20. $hoja->write(2, 1, 'Ramirez');  
  21. $hoja->write(3, 0, 'Lalo');  
  22. $hoja->write(3, 1, 'Landas');  
  23.   
  24. /* Mediante el método close cerramos y enviamos el archivo al usuario */  
  25. $libro->close();  
  26. ?>  
9.- Ahora si ejecutamos ejemplo.php nos lanzará un archivo en formato excel llamado ejemplo.xls

Fácil y bonito, ¿no?.  Complíquemoslo un poco, démosle un poco de formato a nuestro texto.

10.- Con el mismo código como base, ahora añadiremos algunas cosas. El formato se crea definiendo una variable y adjuntándola como formato a un libro en particular. Luego, cada vez que queramos utilizar ese formato, lo añadimos como parámetro al momento de escribir datos.
  1. <!--?php  
  2. /* Llamamos a la clase que ejecutará la exportación a Excel. Esta clase está guardada en el directorio que tenemos habilitado por defecto en nuestro php.ini para los include y require. Si no hemos modificado el php.ini no debemos cambiar nada acá */  
  3. require_once 'Spreadsheet/Excel/Writer.php';  
  4.   
  5. /* Creamos un nuevo objeto de tipo Spreadsheet_Excel_Writer que refleja un nuevo libro de Excel */  
  6. $libro = new Spreadsheet_Excel_Writer();  
  7.   
  8. /* Definimos mediante el método send que el archivo debe enviarse al usuario al ejecutar el código y le damos el nombre que tendrá. En este caso ejemplo.xls */  
  9. $libro--->send('ejemplo.xls');  
  10.   
  11. /* Definimos una variable y se la asignamos a nuestro objeto como una hoja del mismo mediante el método addWorksheet, el cual lleva como parámetro el nombre de la hoja. Tal como si crearamos una en un libro normal de Excel */   
  12. $hoja =&$libro->addWorksheet('Hoja de prueba');  
  13.   
  14. /* Declaramos una variable llamada negrita y la adjuntamos a nuestro libro definiendola como formato mediante el método addFormat */  
  15. $negrita = &$libro->addFormat();  
  16. /* Luego con la variable negrita, llamamos al método setBold para definir que será negrita */  
  17. $negrita->setBold();  
  18.   
  19. /* Repetimos la operación con la variable cursiva pero ahora llamando al método setItalic */  
  20. $cursiva = &$libro->addFormat();  
  21. $cursiva->setItalic();  
  22.   
  23. /* Escribimos los datos en la hoja mediante el método write, el cual toma como parámetros el número de fila, número de columna, el contenido y la variable con el formato que le daremos a esa celda. Si es texto debe ir entre comillas como una cadena. */  
  24. $hoja->write(0, 0, 'Nombre', $negrita);  
  25. $hoja->write(0, 1, 'Apellido', $negrita);  
  26. $hoja->write(1, 0, 'Maria', $cursiva);  
  27. $hoja->write(1, 1, 'Lopez', $cursiva);  
  28. $hoja->write(2, 0, 'Eulalio', $cursiva);  
  29. $hoja->write(2, 1, 'Ramirez', $cursiva);  
  30. $hoja->write(3, 0, 'Lalo', $cursiva);  
  31. $hoja->write(3, 1, 'Landas', $cursiva);  
  32.   
  33. /* Mediante el método close cerramos y enviamos el archivo al usuario */  
  34. $libro->close();  
  35. ?>  

11.- Ejecutamos el archivo y nos enviará ejemplo.xls como descarga, el cual si lo abrimos podremos ver que tiene los datos formateados, tal como definimos:



El formato podemos manejarlo con muchos métodos, tanto de la hoja como de las celdas propiamente tal. Este paquete de PEAR nos permite personalizar todos los aspectos existentes de un libro de Excel, desde colores, codificación del texto, tamaños de letra, formatos de celda e incluso formulas. Lamentablemente son tantos métodos que necesitaríamos bastantes tutoriales para cubrirlos todos, por lo que hemos intentado cubrir su funcionamiento y enseñar la lógica de su uso para que puedan seguir experimentando y llegar al nivel de detalle que deseen.

Pueden encontrar un detalle de los métodos para utilizar en la documentación de Spreadsheet Excel Writer.

Ahora tenemos un método simple y seguro para exportar de PHP a Excel en caso de que necesiten mayor precisión o bien manipular los archivos después con alguna otra clase.



No hay comentarios.:

Publicar un comentario