Como generar un archivo de Excel con PHP
Manuales de PHP > Taller de Programación en PHP
Algunas veces nos es necesario hacer una consulta con php y exportar el resultado a una hoja de Microsoft Excel para poder manipular los datos fuera de linea. Existe varias maneras de generar un libro de excel con php pero abajo les pongo un metodo. /* Mysql To Excel Generación de excel versión 1.0 Nicolás Pardo - 2007 */ #Conexion a la db require_once('__conn.php'); #Sql,aqui pon la consulta mysql que quieras exportar al libro de excel. $sql = " SELECT * FROM usuarios WHERE activo > -1 ORDER BY codigo DESC "; $r = mysql_query( $sql ) or trigger_error( mysql_error($conn), E_USER_ERROR ); $return = ''; if( mysql_num_rows($r)>0){ $return .= '<table border=1>'; $cols = 0; while($rs = mysql_fetch_row($r)){ $return .= '<tr>'; if($cols==0){ $cols = sizeof($rs); $cols_names = array(); for($i=0; $i<$cols; $i++){ $col_name = mysql_field_name($r,$i); $return .= '<th>'.htmlspecialchars($col_name).'</th>'; $cols_names[$i] = $col_name; } $return .= '</tr><tr>'; } for($i=0; $i<$cols; $i++){ #En esta parte puedes manejar de manera personalizada datos, por ejemplo: if($cols_names[$i] == 'fechaAlta'){ #Fromateo el registro en formato Timestamp $return .= '<td>'.htmlspecialchars(date('d/m/Y H:i:s',$rs[$i])).'</td>'; }else if($cols_names[$i] == 'activo'){ #Estado lógico del registro, en vez de 1 o 0 le muestro Si o No. $return .= '<td>'.htmlspecialchars( $rs[$i]==1? 'SI':'NO' ).'</td>'; }else{ $return .= '<td>'.htmlspecialchars($rs[$i]).'</td>'; } } $return .= '</tr>'; } $return .= '</table>'; mysql_free_result($r); } #Cambiando el content-type más las <table> se pueden exportar formatos como csv de excel header("Content-type: application/vnd-ms-excel; charset=iso-8859-1"); header("Content-Disposition: attachment; filename=NombreDelExcel_".date('d-m-Y').".xls"); echo $return;
|
|
|
|
|
|
Comentarios
Total de comentarios 0
Total de comentarios 0
Coloca tus comentarios
Coloca comentarios que ayuden a enriquecer el artículo o que creas que sirven a los lectores,
Por favor evita palabras altisonantes, spam o poner comentarios que no tengan que ver con este artículo, todos los comentarios que no cumplan con estos requisitos seran omitidos.
Para cuidar la calidad del contenido y debido al abuso con SPAM de algunas personas todos los comentarios seran publicados hasta que los revisemos. |
|
|