Ver Mensaje Individual
  #1 (permalink)  
Antiguo 08/08/2016, 16:47
Avatar de jpogsistem
jpogsistem
 
Fecha de Ingreso: diciembre-2001
Mensajes: 2.405
Antigüedad: 22 años, 4 meses
Puntos: 4
Export a Excel no funciona para Excel 2016

Hola Masters,

Sucede que he venido usando ese código para exportar un query de MySQL a excel y ha venido funcionando de maravilla.

Pero algunos de mis usuarios han actualizado a Excel 2016 y cuando les baja el archivo les aparece vacío..........Que deberé cambiar para que sea compatible a Excel 2016 ?

Todas las ideas son bienvenidas.

Saludos y Gracias.


Código PHP:
<?php
require_once('../Connections/conexion.php');
/////////////////////////////////////////////////////////////////////////////////////////////////////
mysql_select_db($database_conexion$conexion);
#Sql, acá pone tu consulta a la tabla que necesites exportar filtrando los datos que creas necesarios.
$sql "SELECT * FROM mi_tabla";
$r mysql_query$sql ) or trigger_errormysql_error($conexion), 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 iteración podes manejar de manera personalizada datos, por ejemplo:
            
if($cols_names[$i] == 'MONTO' OR  $cols_names[$i] == 'CANTIDAD')
            { 
            
$return .= '<td>'number_format($rs[$i],2,".",",").'</td>';  }
            elseif(  (
$cols_names[$i] == 'Algo') && ($rs[$i] <= 0)  )
            { 
            
$return .= '<td>'number_format(0,2,".",",") .'</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
header("Content-type: application/force-download"); 
header("Content-Disposition: attachment; filename=Reporte.xls"); 
header("Pragma: no-cache"); 
header("Expires: 0");  
echo 
$return;  
?>
__________________
EL LIMITE ES EL UNIVERSO