Foros del Web » Programando para Internet » PHP »

Export a Excel no funciona para Excel 2016

Estas en el tema de Export a Excel no funciona para Excel 2016 en el foro de PHP en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 08/08/2016, 16:47
Avatar de jpogsistem  
Fecha de Ingreso: diciembre-2001
Mensajes: 2.405
Antigüedad: 23 años
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
  #2 (permalink)  
Antiguo 08/08/2016, 17:18
Avatar de petit89  
Fecha de Ingreso: marzo-2011
Mensajes: 1.139
Antigüedad: 13 años, 9 meses
Puntos: 171
Respuesta: Export a Excel no funciona para Excel 2016

Tengo el mismo problema con un sistema, no da error el excel ni nada, solo muestra totalmente en blanco....

La solucion que encontre para visualizar el archivo descargado es: clic derecho-> propiedades -> boton en la parte inferior y sobre aceptar/aplicar/cancelar llamado "desbloquear".... una vez das clic ahi si te muestra la info... pero como arreglarlo en el codigo, ni idea aun
__________________
█ WebHosting / Reseller a bajo costo | Uptime Garantizado | Soporte en Español e Ingles
¿Te sirvió la respuesta? Deja un +1 (Triangulo negro al lado derecho)
  #3 (permalink)  
Antiguo 08/08/2016, 18:53
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 8 meses
Puntos: 2534
Respuesta: Export a Excel no funciona para Excel 2016

Una tabla de HTML está muy lejos de ser un "archivo válido de Excel", así que puede que en unos años más ya no exista si quiera opción alguna.

Lo mejor es usar una librería actual para generar un archivo Excel sin ton ni son.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #4 (permalink)  
Antiguo 08/08/2016, 20:51
 
Fecha de Ingreso: octubre-2010
Ubicación: España
Mensajes: 1.007
Antigüedad: 14 años, 2 meses
Puntos: 123
Respuesta: Export a Excel no funciona para Excel 2016

Efectivamente una tabla html esta lejos de ser una hoja de cálculo como dice el compañero pateketrueke.

Algunos paquetes ofimáticos se lo tragan sin problemas como libre office, pero a ms no le suelen caer bien las compatibilidades por lo visto y desde hace algún tiempo no se traga las tablas.

Por otro lado existen formas de hacer las cosas y formas de hacerlas bien y para esto en concreto una buen solución es PHPexcel.
__________________
Unset($vida['malRollo']);

Etiquetas: excel, export, html, mysql, select, sql, tabla, usuarios
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 05:32.