28 de enero de 2009

php mysql excel

Google code sin lugar a dudas es un nuevo muy buen amigo, comparto esta lib que me tropece hace poco, he usado ya librerias que manejan libros, encabezados hojas etc. pero esto cuando tu tienes tu servidor, pero que pasa cuando el hosting no permite pear, o no te permite ni shell. entonces necesitas algo mas simple algo donde puedas subir un lib o include y usarlo, pues eso es esta libreria que halle en Google Code que les comparto aqui.

http://code.google.com/p/php-excel/wiki/QuickUsageGuide

para exportar digamos registros de una tabla en mysql a excel, digamos una lista de clientes, nombre, apellidos, etc. o listado de productos ya segun su necesidad es asi de simple.

1. ir al url indicado arriba
2. bajar el archivo class-excel-xml.inc.php (desde http://php-excel.googlecode.com/svn/branches/)
3. crear el codigo aqui un pequeño ejm.
------------phpmysql2excel.php

//codigo de conexion a la bd yo uso una lib tambien y uso solo $db

require (dirname (__FILE__) . "/class-excel-xml.inc.php");
$sql="select * from clientes order by nombres"; //uds especifican su query
$resultado=$db->get_results($sql);
foreach ( $resultado as $reg )
{
// si tu query es exacto los campos necesarios esto bastaria
//$doc[] = $reg;
// si en tu query sobran campos y quieres mandar a excel lo necesario haces esto
$doc[]=array($reg->codigo,$reg->direccion,$reg->nombres);
}

$xls = new Excel_XML;
$xls->addArray ( $doc );
$xls->generateXML ("afiliados");

?>
----------fin phpmysql2excel.php

4. solo grabar o ver en el explorador, esto abrira un cuadro de dialogo donde te permitira grabar, ver o cancelar.

espero les sirva es la forma mas simple y sencilla de generar un archivo excel usando php y mysql.