Generar Excel con PHP
- 14/10/2007
- 11:28 am
La presente es una pequeña guía de como generar archivos en formato Excel utilizando PHP. Esto es muy interesante pues nos puede servir para generar reportes de nuestra base de datos a un archivo .xls el cual es un formato ampliamente utilizado.
Que necesitamos?
Lo primero que necesitamos es una clase llamada MS-Excel Stream Handler la cual contiene las funciones necesarias para crear archivos Excel. Ahora bien, esta librería permite la creación de los archivos pero no de manera intuitiva, basados en la documentación de esta clase me he tomado la libertad de crear un archivo llamado excel-ext.php que contiene una función que nos facilitará este proceso.
Para ello utilizaremos la función createExcel que recibe dos parámetros, el primero el nombre del archivo que deseas crear y el segundo un array asociativo con los datos a mostrar en el archivo generado.
Creando nuestro primer Ejemplo
Entonces el primer paso es incluir el archivo excel.php y excel-ext.php en nuestro script php de la siguiente forma:
-
require_once("excel.php");
-
require_once("excel-ext.php");
Lo siguiente es crear un array asociativo que contiene los datos a mostrar, para nuestro ejemplo creamos un array que contiene una lista de nombre y su IQ.
Luego el tercer y ultimo paso es crear el archivo Excel, para ello utilizamos la función createExcel, uniendo todo tendríamos:
Esto generará un archivo excel con dos columnas llamadas Nombre y IQ con los datos creados en el array. Puedes ver el resultado funcionando en: php-excel/array.php
Crear Excel desde una Base de Datos
El siguiente ejemplo obtiene datos desde una base de datos MySQL y generará un archivo Excel como reporte. Para ello primero creamos una conexión a nuestra base de datos y consultamos la tabla empresa y luego colocamos los resultados en una matriz asociativa llamada $data.
-
require_once("excel.php");
-
require_once("excel-ext.php");
-
// Consultamos los datos desde MySQL
-
$queEmp = "SELECT nombre, direccion, telefono FROM empresa";
-
// Creamos el array con los datos
-
$data[] = $datatmp;
-
}
-
// Generamos el Excel
-
createExcel("excel-mysql.xls", $data);
-
exit;
Pueden ver el resultado de este ejemplo funcionando en php-excel/mysql.php. Finalmente les dejo los archivos fuente para que puedas revisar y hacer tus experimentos con lo aprendido en este post.
Posts Relacionados
- Webthumb: Web ScreenShots
- Google Spreadsheets
- Crear PDF con Imagenes en PHP
- Generar PDF con PHP y MySQL
- PHP Feed Generator
Magento: e-commerce 2.0
- 21/09/2007
- 11:10 am
Magento es una plataforma e-commerce desarrollada en PHP y MySQL altamente flexible, escalable y fácil de integrar con otras aplicaciones, tiene optimización SEO, soporte de AJAX, soporte para múltiples monedas, idiomas. En resumen un sistema muy completo para implementar un tienda online.
Requerimientos
Magento fue desarrollado utilizando Zend Framework y para su funcionamiento se necesita lo siguiente:
- Sistema Operativo Linux, Windows o compatible con UNIX.
- Servidor Web Apache (1.x o 2.x)
- PHP 5.2.0 o superior con las siguientes extensiones: PDO/MySQL, MySQLi, mcrypt, mhash, simplexml, DOM.
- Servidor de base de datos MySQL 4.1.20 o superior.
- Servidor SMTP para el envío de correos.

Características
Magento es una aplicación muy completa y con muchas características entre las cuales podemos destacar:
- Search Engine Optimization (SEO)
- Soporte para pago con tarjeta de crédito: Authorize.net y Paypal Payflow Pro.
- Soporte para métodos de envío. Integración en tiempo real con: UPS, FedEx, y USPS.
- Soporte para tiendas multi-lenguaje.
- Capacidad para múltiples tipo de moneda.
- Review de productos.
- Capacidad de envío de notificaciones por email.
- Buscador básico y avanzado.
- Facilidad para comparar productos.
- Soporte para asignar tags a los productos y generación de un tagcloud o nube de tags.
- Carrito de compras completo.

Pueden ver un ejemplo de una tienda implementada con Magento en Store Demo y un demo del administrador en Store Backend donde el usuario es admin y la clave es 123123.

Como pueden ver el resultado es de muy buena calidad es decir podemos implementar una tienda online de muy buen acabado y totalmente gratis.
Posts Relacionados
Generar PDF con PHP y MySQL
- 13/08/2007
- 1:49 am
El presente ejemplo explica como generar un reporte en PDF extrayendo datos de MySQL utilizando PHP. Este ejemplo lo hacemos aprovechando el post anterior en el cual explicábamos como obtener datos de base de datos MySQL. Para la generación de PDF utilizaremos la clase R&OS: pdf class de la cual ya hemos comentado en Generar PDF con PHP.

Crear el documento PDF
Lo primero es crear una instancia para la creación del documento PDF, para ello incluimos la librería class.ezpdf.php, luego creamos una variable del tipo Cezpdf en donde definimos el tipo de papel A4, luego definimos la fuente y los margenes.
-
require_once('class.ezpdf.php');
-
$pdf =& new Cezpdf('a4');
-
$pdf->selectFont('../fonts/courier.afm');
-
$pdf->ezSetCmMargins(1,1,1.5,1.5);
Obtenemos los registros desde MySQL
Ahora procedemos a extraer los registros de nuestra base de datos, en este caso solo obtenemos el nombre, dirección y telefono de la tabla empresa de nuestra base de datos.
-
$queEmp = "SELECT nombre, direccion, telefono FROM empresa";
Creando el array de datos, títulos y opciones
A continuación procedemos a crear matrices que luego utilizaremos en la creación de nuestro PDF, en el caso que deseemos incluir una tabla con con datos debemos crear una matriz con estos datos, en nuestro caso asignamos los resultados de la consulta y le agregamos un campo adicional con un numero correlativo. Lo siguiente es crear la matriz con los nombres de la tabla, en este caso llamamos a esta matriz $titles en donde a cada campo agregado a la matriz de datos le hacemos corresponder un nombre que aparecerá como titulo de la fila. La tercera matriz indica los colores de las celdas, la orientación y el ancho de la tabla.
-
$ixx = 0;
-
$ixx = $ixx+1;
-
}
-
'num'=>'<b>Num</b>',
-
'nombre'=>'<b>Empresa</b>',
-
'direccion'=>'<b>Direccion</b>',
-
'telefono'=>'<b>Telefono</b>'
-
);
-
'shadeCol'=>array(0.9,0.9,0.9),
-
'xOrientation'=>'center',
-
'width'=>500
-
);
Imprimiendo los Resultados
Una vez que tenemos todos los datos preparados procedemos a generar el PDF con toda la información que deseamos. Iniciamos esto creando un titulo y subtitulo de texto, luego escribimos los resultados de la consulta con la función ezTable a la cual se pasamos los datos, títulos y opciones. Finalmente al final del documento agregamos la fecha y hora de la generación del documento.
-
$txttit = "<b>BLOG.UNIJIMPE.NET</b>\n";
-
$txttit.= "Ejemplo de PDF con PHP y MYSQL \n";
-
-
$pdf->ezText($txttit, 12);
-
$pdf->ezTable($data, $titles, '', $options);
-
$pdf->ezText("\n\n\n", 10);
-
$pdf->ezStream();
Unimos todos estos bloques y tenemos listo nuestro script para generar reportes en PDF, pueden ver el ejemplo funcionando en php-mysql.php. Para finalizar les dejo los archivos del ejemplo para que lo prueben y modifiquen a sus necesidades.
Posts Relacionados
- Navicat: Cliente MySQL
- Generar Excel con PHP
- PHP and MySQL by Example
- Webthumb: Web ScreenShots
- Conectar PHP con MySQL



