Autor Tema: [SOLUCIONADO]Problemas en la salida a Excel  (Leído 965 veces)

0 Usuarios y 1 Visitante están viendo este tema.

sgelatti

  • General
  • *
  • Mensajes: 82
    • Ver Perfil
    • Email
  • Institución: Universidad Nacional de Córdoba
  • Nombre y apellido: Sonia Gelatti
  • Sistema: Pilaga - Diaguita
  • Teléfono laboral: 0351-4266210
[SOLUCIONADO]Problemas en la salida a Excel
« on: Octubre 29, 2015, 10:50:53 am »
Hola. Estamos teniendo el problema que cuando se desea descargar los archivos excel se visualiza la pantalla donde muestra el contenido que va a tener el archivo, con todos símbolos extraños o que el archivo esta roto. Versión de toba instalada 2.5.4.El servidor tiene  debian 7.7 + apache 2.2 + php 5.4.4 + postgres  8.4. Nos faltará alguna configuración extra??
Saludos
« Última Modificación: Noviembre 11, 2015, 12:17:15 pm por richard »

jorozco

  • Hero Member
  • *****
  • Mensajes: 900
    • Ver Perfil
    • Email
  • Institución: Universidad Catòlica de Manizales
  • Nombre y apellido: Jhon Jairo Orozco D.
  • Sistema: Toba
Re:Problemas en la salida a Excel
« Respuesta #1 on: Octubre 29, 2015, 12:25:04 pm »
Cuando me ha pasado, es porque en el código del CI, o de la consulta que carga el cuadro, se ha interrumpido por tener una línea con ECHO o PRINT_R.

Buen día

sgelatti

  • General
  • *
  • Mensajes: 82
    • Ver Perfil
    • Email
  • Institución: Universidad Nacional de Córdoba
  • Nombre y apellido: Sonia Gelatti
  • Sistema: Pilaga - Diaguita
  • Teléfono laboral: 0351-4266210
Re:Problemas en la salida a Excel
« Respuesta #2 on: Octubre 29, 2015, 03:39:33 pm »
Controlamos el código y no estamos utilizando ni un ECHO ni PRINT_R. Lo raro es que hay otros cuadros en el mismo proyecto que si se pueden exportar a excel...
Saludos.

richard

  • Moderador Global
  • *****
  • Mensajes: 3045
    • Ver Perfil
  • Institución: SIU
  • Nombre y apellido: Ricardo Dalinger
  • Sistema: SIU-Toba
Re:Problemas en la salida a Excel
« Respuesta #3 on: Octubre 30, 2015, 04:38:41 pm »
Hola Sonia,

lo primero que se me ocurre si es que estas viendo el contenido del archivo por pantalla, es que el browser no este identificando correctamente lo que recibe, lo que podria derivar de un header que no se envia correctamente antes de hacer la descarga (de modo que el browser identifique el mime-type).

Opciones para que eso suceda pueden ser:

- Estan enviando los headers manualmente y olvidaron enviar uno para el excel.

- Hay algo que esta saliendo antes y automaticamente PHP envia los headers validos para html en lugar de excel.

Como es que estan llevando adelante la descarga del archivo, tenes el codigo a mano?

Saludos
Twitter es al incontinente verbal,  lo que los dulces al diabetico.

sgelatti

  • General
  • *
  • Mensajes: 82
    • Ver Perfil
    • Email
  • Institución: Universidad Nacional de Córdoba
  • Nombre y apellido: Sonia Gelatti
  • Sistema: Pilaga - Diaguita
  • Teléfono laboral: 0351-4266210
Re:Problemas en la salida a Excel
« Respuesta #4 on: Noviembre 02, 2015, 10:07:01 am »
Hola Richard, lo que hacemos es solo tildar la opción "Exportar a Excel" del cuadro en el toba_editor por lo que no hay código.
Saludos y gracias!!!

richard

  • Moderador Global
  • *****
  • Mensajes: 3045
    • Ver Perfil
  • Institución: SIU
  • Nombre y apellido: Ricardo Dalinger
  • Sistema: SIU-Toba
Re:Problemas en la salida a Excel
« Respuesta #5 on: Noviembre 02, 2015, 03:35:00 pm »
Hola Sonia,

no es necesario que haya codigo, un notice por un indice indefinido en un arreglo te puede sacar un texto que envie los headers. Un caracter (de los no visibles) en otro encoding puede complicarte tambien.

Lo que me lleva a pensar que es algo puntual, es justamente que otras exportaciones si te estan funcionando, de hecho yo estoy probando en el proyecto de referencia y no estoy teniendo ningun inconveniente.

Si fuera un problema del browser, pasaria con todos los listados.. si fuera algo a nivel sistemico, seria lo mismo... tiene que ser algo particular en dicha operacion, aun cuando no esten enviando nada manualmente.

Podrias adjuntarme lo que les sale por pantalla cuando intentan exportar el archivo?.

Saludos
Twitter es al incontinente verbal,  lo que los dulces al diabetico.

sgelatti

  • General
  • *
  • Mensajes: 82
    • Ver Perfil
    • Email
  • Institución: Universidad Nacional de Córdoba
  • Nombre y apellido: Sonia Gelatti
  • Sistema: Pilaga - Diaguita
  • Teléfono laboral: 0351-4266210
Re:Problemas en la salida a Excel
« Respuesta #6 on: Noviembre 03, 2015, 09:35:54 am »
Hola Richard, adjunto prints de pantallas de los dos casos que tenemos, caso1 y caso2.

Lo que tenemos en común entre estos listados es que dependiendo del grupo de acceso eliminamos eventos o no de la siguiente manera:

$this->dependencia('cuadro')->eliminar_evento('eliminar');

Saludos y gracias!!!

richard

  • Moderador Global
  • *****
  • Mensajes: 3045
    • Ver Perfil
  • Institución: SIU
  • Nombre y apellido: Ricardo Dalinger
  • Sistema: SIU-Toba
Re:Problemas en la salida a Excel
« Respuesta #7 on: Noviembre 04, 2015, 01:00:09 pm »
Hola Sonia,
Hola Richard, adjunto prints de pantallas de los dos casos que tenemos, caso1 y caso2.

yo estaba esperando mas el contenido del archivo xls para poder probarlo en mi maquina y ver si encontraba que estaba rompiendo el formato.

Cita
Lo que tenemos en común entre estos listados es que dependiendo del grupo de acceso eliminamos eventos o no de la siguiente manera:
$this->dependencia('cuadro')->eliminar_evento('eliminar');

Supongo que probaron comentando esa linea para ver si tiene alguna injerencia en el asunto, lo que me lleva a pensar que tiene que ser otra cuestion. Segun veo de la primera imagen pareciera que la linea 1 esta compuesta por espacios, cuando en realidad deberia contener codigo binario tambien.

Pasame si podes el xls y de paso el codigo del CI que tira el listado.

Saludos
Twitter es al incontinente verbal,  lo que los dulces al diabetico.

sgelatti

  • General
  • *
  • Mensajes: 82
    • Ver Perfil
    • Email
  • Institución: Universidad Nacional de Córdoba
  • Nombre y apellido: Sonia Gelatti
  • Sistema: Pilaga - Diaguita
  • Teléfono laboral: 0351-4266210
Re:Problemas en la salida a Excel
« Respuesta #8 on: Noviembre 04, 2015, 03:08:04 pm »
Hola Richard, te pido disculpas por la confusión. En cuanto a comentar el código, si claro que lo hicimos y no soluciona el problema.
Adjunto los archivos xls y a continuación dejo el código de cada caso.

El cuadro del primer caso se llena con:
   function conf__cuadro_deposito(toba_ei_cuadro $cuadro)
   {
            // Tomamos la lista de grupos a los que pertenece un usuario,
            // y verificamos que pertenezca a alguno de los que nos interesa

            $grupos=toba::usuario()->get_grupos_acceso();

            $pertenece = false;
            $consulta = false;
            $this->s__pilaga = false;
            $this->s__central = false;
           
            foreach($grupos as $grupo)
            {
                $pertenece = $pertenece || $grupo == 'admin' || $grupo == 'asig_central' || $grupo == 'asig_depositos' || $grupo == 'con_asig';
                if($grupo == 'con_asig'){

                    $consulta = true;
                }
                if($grupo == 'asig_central'){

                    $consulta = true;
                }
               
                if($grupo == 'asig_pilaga'){
                    $this->s__pilaga = true;
                }
               
                if($grupo == 'asig_depositos'){
                    $this->s__central = true;
                }
            }
            if(!$pertenece or $consulta)
            {
                // Si el usuario no pertenece a uno de los grupos
                // administradores, solamente puede ver sus rendiciones   
                $this->s__filtro['asi_usuario']=toba::usuario()->get_id();
                $this->dependencia('cuadro_deposito')->eliminar_evento('Aprobado');
                $this->dependencia('cuadro_deposito')->eliminar_evento('Rechazado');

                if($consulta)
                {
                    $this->dependencia('cuadro_deposito')->eliminar_evento('agregar_deposito');
                }
            }

            if(isset($this->s__filtro['asi_det_periodo']))
            {
                $datos=soe_consultas::get_depositos($this->s__filtro);
                $cuadro->set_datos($datos);
            }
   }

El cuadro del segundo caso se llena con:
   //-----------------------------------------------------------------------------------
   //---- cuadro_retenciones -----------------------------------------------------------
   //-----------------------------------------------------------------------------------

   function conf__cuadro_retenciones(toba_ei_cuadro $cuadro)
   {
            $dep_id=$this->s__filtro['dependencia'];
            $periodo=$this->s__filtro['periodo'];
            $id_tipo=$this->s__filtro['tipo_retencion'];
            $asi_est_id=$this->s__filtro['asi_est_id'];
            $est_id_deposito=$this->s__filtro['est_id_deposito'];
            $id_impuesto=$this->s__filtro['id_impuesto'];
         
            $datos=retenciones_consultas::listado_retenciones($dep_id,
                                                              $periodo,
                                                              $id_tipo,
                                                              $asi_est_id,
                                                              $est_id_deposito,
                                                              $id_impuesto);
           
            $cuadro->set_datos($datos);
   }

Saludos y muchas gracias.
« Última Modificación: Noviembre 04, 2015, 03:09:35 pm por sgelatti »

richard

  • Moderador Global
  • *****
  • Mensajes: 3045
    • Ver Perfil
  • Institución: SIU
  • Nombre y apellido: Ricardo Dalinger
  • Sistema: SIU-Toba
Re:Problemas en la salida a Excel
« Respuesta #9 on: Noviembre 06, 2015, 03:40:33 pm »
Hola Sonia,

ambos excel arrancan con un caracter de control en hexadecimal, en un caso se trata de A0 (Un LF) y en el otro un 20 (Comienzo de texto). Fijense en los archivos involucrados en la operacion si no les quedo algun enter o algun caracter en otro encoding fuera de los delimitadores de PHP, suele ser la causa mas comun en estos casos.

Saludos
Twitter es al incontinente verbal,  lo que los dulces al diabetico.

sgelatti

  • General
  • *
  • Mensajes: 82
    • Ver Perfil
    • Email
  • Institución: Universidad Nacional de Córdoba
  • Nombre y apellido: Sonia Gelatti
  • Sistema: Pilaga - Diaguita
  • Teléfono laboral: 0351-4266210
Re:Problemas en la salida a Excel
« Respuesta #10 on: Noviembre 11, 2015, 10:48:58 am »
Muchas gracias Richard!!! Siguiendo tus consejos logramos solucionar este tema. Controlamos los archivos y había un par que tenían un espacio antes de abrir la marca de php.
Saludos.