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 */):
-
<!--?php
-
/* 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á */
-
require_once 'Spreadsheet/Excel/Writer.php';
-
-
/* Creamos un nuevo objeto de tipo Spreadsheet_Excel_Writer que refleja un nuevo libro de Excel */
-
$libro = new Spreadsheet_Excel_Writer();
-
-
/* 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 */
-
$libro--->send('ejemplo.xls');
-
-
/* 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 */
-
$hoja =&$libro->addWorksheet('Hoja de prueba');
-
-
/* 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. */
-
$hoja->write(0, 0, 'Nombre');
-
$hoja->write(0, 1, 'Apellido');
-
$hoja->write(1, 0, 'Maria');
-
$hoja->write(1, 1, 'Lopez');
-
$hoja->write(2, 0, 'Eulalio');
-
$hoja->write(2, 1, 'Ramirez');
-
$hoja->write(3, 0, 'Lalo');
-
$hoja->write(3, 1, 'Landas');
-
-
/* Mediante el método close cerramos y enviamos el archivo al usuario */
-
$libro->close();
-
?>
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.
-
<!--?php
-
/* 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á */
-
require_once 'Spreadsheet/Excel/Writer.php';
-
-
/* Creamos un nuevo objeto de tipo Spreadsheet_Excel_Writer que refleja un nuevo libro de Excel */
-
$libro = new Spreadsheet_Excel_Writer();
-
-
/* 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 */
-
$libro--->send('ejemplo.xls');
-
-
/* 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 */
-
$hoja =&$libro->addWorksheet('Hoja de prueba');
-
-
/* Declaramos una variable llamada negrita y la adjuntamos a nuestro libro definiendola como formato mediante el método addFormat */
-
$negrita = &$libro->addFormat();
-
/* Luego con la variable negrita, llamamos al método setBold para definir que será negrita */
-
$negrita->setBold();
-
-
/* Repetimos la operación con la variable cursiva pero ahora llamando al método setItalic */
-
$cursiva = &$libro->addFormat();
-
$cursiva->setItalic();
-
-
/* 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. */
-
$hoja->write(0, 0, 'Nombre', $negrita);
-
$hoja->write(0, 1, 'Apellido', $negrita);
-
$hoja->write(1, 0, 'Maria', $cursiva);
-
$hoja->write(1, 1, 'Lopez', $cursiva);
-
$hoja->write(2, 0, 'Eulalio', $cursiva);
-
$hoja->write(2, 1, 'Ramirez', $cursiva);
-
$hoja->write(3, 0, 'Lalo', $cursiva);
-
$hoja->write(3, 1, 'Landas', $cursiva);
-
-
/* Mediante el método close cerramos y enviamos el archivo al usuario */
-
$libro->close();
-
?>
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