Error al Exportal a Excel

Hola, quería informar el error, creo que esto esta desde la versión 3.15.0 y nunca fue solucionado, el error se corrige agregando ob_clean(); en una función.

El archivo a modificar es:


vendor/siu-toba/framework/php/nucleo/componentes/interface/toba_ei_cuadro_salida_excel.php

y la función se encuentra en la línea 42, se llama:


excel_inicio

la función debería quedar de la siguiente forma:


function excel_inicio(){ ob_clean(); }

Desde ya, muchas gracias!

Buenos días. Gracias por la observación.
¿Que error era el que estaba dando el excel?
Para no tener que tocar la clase de toba, lo que podrías hacer es utilizar otro manejador de salida para el cuadro cuando se exporta a excel.
Podrías hacerlo en el guarani_pers_ei_cuadro indicando allí cual es tu clase de salida.
Podes ver algo similar en el clase del cuadro_seleccion_multiple (php/operaciones/_lib/cuadro_seleccion_multiple.php) este lo hace para la salida html, pero lo que necesitas hacer es similar.
Cualquier cosa volvé a consultarnos.
Saludos.

Hola Jose, como estás? Ahora el error que esta dando es otro:

Call to undefined method PHPExcel_Calculation::_getMatrixDimensions()

eso muestra cuando se quiere descargar un archivo xls en los reportes del guaraní. Esto es nuevo, pero estamos con mucho problema con esta actualización, también hay un reporte que es el reporte de resultado por mesas de examen que esta funcionando mal, no muestra ningún error, solo demora 3 minutos en poder operar y otros 3 minutos al presionar filtrar para mostrar los resultado. Tuve que asignar mas memoria al php para que pueda hacer esta operación me daba error en memory limit.

Saludos!

Ricardo,

Respecto al error “Call to undefined method PHPExcel_Calculation::_getMatrixDimensions()”, viste este post?

Saludos, Florencia.

Hola Florencia, con respecto a ese post, tengo instalada la version 1.8.1 del phpoffice y no funciona igual, ahora me estoy riendo por no llorar, pero realmente ya no se que hacer. Te paso la salida composer para que me creas que esta en la version 1.8.1, elimine y volví a instalar para que lo veas:


Do not run Composer as root/super user! See https://getcomposer.org/root for details
Loading composer repositories with package information
Installing dependencies (including require-dev) from lock file
Package operations: 1 install, 0 updates, 0 removals
  - Installing phpoffice/phpexcel (1.8.1): Downloading (100%)

Saludos!

Hola Florencia, por lo que vi en el gitHub del proyecto, la última versión es la 1.8, después el proyecto pasa a llamarse PhpSpreadsheet, no se si pasando a ese proyecto el guaraní continuará trabajando bien, en todo caso, si vos tienes bien esa librería, me la podrías pasar comprimida para que la ponga en el vendor de mi instalación, hay muchos problemas con el guaraní, al menos eso quiero solucionar para que no me quemen vivo.

Saludos!

Ricardo:

Para cambiar de versión esa librería debes hacer lo siguiente:

  1. Verificamos la versión actual

guarani@virtual:~/proyectos/guarani/gestion/031700$ grep -m 1 v1.8 vendor/phpoffice/phpexcel/changelog.txt
2018-11-22 (v1.8.2):

  1. Le decimos a composer que exija la version 1.8.1

guarani@virtual:~/proyectos/guarani/gestion/031700$ composer require phpoffice/phpexcel:1.8.1
./composer.json has been updated
Loading composer repositories with package information
Updating dependencies (including require-dev)
Package operations: 0 installs, 1 update, 0 removals
  - Updating phpoffice/phpexcel (1.8.2 => 1.8.1): Loading from cache
...
...
Writing lock file
Generating autoload files
> composer run-script post-install-cmd -d ./vendor/siu-toba/framework/
> bower install --allow-root
> SIU\Guarani\RestHooks\RestHookSanaviron::changeJsonbToJson
> SIU\Guarani\Scripts\Composer::postUpdateCmd

  1. Verificamos la versión después de la actualización

guarani@virtual:~/proyectos/guarani/gestion/031700$ grep -m 1 v1.8 vendor/phpoffice/phpexcel/changelog.txt
2015-04-30 (v1.8.1):

Con esto sale andando!

Con respecto al reporte Reporte de Resultados por Mesas de Examen, por favor levantá un GDS, ya que encontramos que desde la versión ALFA de Guarani (2010), los combos de los filtros se llenan con muchas opciones, y eso hace que no alcance la memoria.

Saludos

Hola sergio, todavía sigue saliendo el error, pero ahora es muy raro, en algunas operaciones sale el error en otras no. El error es el mismo, por ejemplo en el Reporte de Total de Inscripciones a Exámenes sale el error, pero en Reporte de Alumnos por Calidad no sale el error.

Que puede estar pasando esto me esta volviendo loco, en varios Reportes sale el error y en otros tantos sale perfecto el xls.

Saludos!

Ricardo,

El error tiene que ver con los cortes de control, en los reportes que no haya va a funcionar bien.

Saludos, Florencia.

Hola Florencia, y como hacemos para que funcionen en los reportes con corte de control, antes si funcionaban, salían perfecto…

Saludos!

Ricardo,

Pobaste seguir los pasos que indicó Sergio en esta respuesta?

Saludos, Florencia.

Si, eso hice y comenzó a funcionar en algunos reportes, ahora me dijiste que funcionan en todos los que no tengas corte de control. Por eso quería saber como hacer para que funcione con todos los reportes, tengan o no cortes de control.

Saludos!

Hola Ricardo

Ese reporte en nuestros ambientes con la versión 1.8.1 de la libreria phpoffice/phpexcel anda perfectamente.

  1. ¿Es el mismo error que te sale? “Call to undefined method PHPExcel_Calculation::_getMatrixDimensions()”
  2. ¿El Reporte de Comisiones por Período Lectivo funciona correctamente?
  3. ¿Los pasos de la respuesta #6 los hiciste en el mismo ambiente que estas accediendo por web?
  4. ¿Que te devuelve el comando grep -m 1 v1.8 vendor/phpoffice/phpexcel/changelog.txt?

Saludos

Hola Sergio, te comento que ya solucione el problema, lo que tuve que hacer es modificar el composer.json la versión 1.8.1, antes decía 1.8.2. Elimine la carpeta del proyecto del vendor, limpie la cache del composer y recién ahí hice el composer install, con eso se instalo la versión 1.8.1 del paquete.

En fin, con eso se solucionó.

Saludos!