[SOLUCIONADO] Problemas con exportación a excel de cuadros

Estimados amigos.
Me encuentro con que algunos cuadros cargados con consultas, al intentar exportarlos a excel, generan un archivo con problemas, de modo tal que el excel se llena de caracteres ilegibles.
Lo curioso es que pasa con algunos cuadros, otros no; y más curioso aún es que -excepto uno , que es nuevo- el resto de las exportaciones funcionaban bien en la versión de la rama 1.x con la cual fueron creados. Hoy trabajo con el toba 2.3.4

Observé que este problema se ha presentado en otras versiones de toba, pero los hilos que leí no comentan como solucionaron el problema. Intenté ver si era por los datos de alguna de las columnas del cuadro y las fui reemplazando por constantes de a una, siempre con el mismo resultado.

Si alguien tiene alguna respuesta, le agradezco la atención.

Saludos a todos.

Cuando a mi me ha pasado, es porque en en alguna parte del código php, tengo un hecho o print_r, y al quitarlos se me ha solucionado el problema.

Saludos

Estimado Jorozco, estuve buscando encontrar algún print_r o cualquier caracter raro en el php, pero parece que este no es el caso.
Amplio lo que observo del problema y como lo solucioné:
El inconveniente de errores de exportación se dió en todos los cuadros de este proyecto, que, evidentemente, tienen distintos archivos .php y datos de diferentes tablas, lo que disminuye la posibilidad de que se trate de un caracter raro en un php o columna. De todos modos, probé crear el cuadro a partir de un array de constantes y el problema persistía.
Conclusión, el problema está en otro lado, no se donde, pero algo manda caracteres extraños al buffer de salida y rompe el formato que excel reconoce.
Este proyecto fue creado, al igual que otros que no presentan problemas, en toba 1.4.4 y fue migrando hasta toba 2.3.4 8el que uso actualmente).

Solución:

Modifiqué, en la clase class toba_ei_cuadro_salida_excel extends toba_ei_cuadro_salida
un método, que quedó de la siguiente manera:

function excel_inicio(){ob_clean();}

A partir de allí, todo salió como corresponde.

Lamentablemente tuve que meter mano en las clases nativas de Toba.

Espero que este hilo pueda ser de utilidad a los colegas del foro y les sirva a los desarrolladores del TOBA para analizar que es lo que está pasando.

Un cordial saludo a todos, y quedo a vuestra disposición.

Hola Claudio,

seria interesante saber que es lo que esta saliendo antes de hacer el ob_clean(), tenes alguna exportacion en archivo excel antes de hacer ese cambio?.

Quizas sea algun caracter no visible que haya quedado en otro encoding, a veces con el cambio de editores pasa esto, hasta que lo configuras nuevamente.

Si tenes alguno que me puedas enviar, te lo agradeceria.

Saludos

Estimado Richard, te adjunto la salida excel que arroja son el ob_clean.
El archivo va con extensión .txt porque si no, no me deja adjuntarlo. Simplemente cambiáselo a xls y listo.
Espero que sea de utilidad.
Un cordial saludo


salida.txt (11.5 KB)

Hola Claudio,

gracias por el archivo… lo voy a mirar a ver si encuentro algo extraño al ppio… que este como txt es mucho mejor, asi lo abro directamente con un editor de texto :slight_smile:

Saludos

Claudio, un favor en donde se encuentra el archivo a modificar, ya que me está pasando lo mismo.

Mil gracias

Estimado Jorozco, pido disculpas por no haber respondido antes, hace rato que no entraba al foro.
La ubicación del archivo es:
\toba_xxx\php\nucleo\componentes\interface\toba_ei_cuadro_salida_excel.php

Un cordial saludo.