Foros del Web » Programando para Internet » PHP »

baja perfonmance php

Estas en el tema de baja perfonmance php en el foro de PHP en Foros del Web. Hola Gente, en este tiempo me dediqué a hacer al menos 5 exportaciones a csv y escel con php excel, pero para esto primero tengo ...
  #1 (permalink)  
Antiguo 29/05/2013, 07:35
Avatar de Patriarka  
Fecha de Ingreso: enero-2011
Ubicación: Moreno, Buenos Aires, Argentina
Mensajes: 2.851
Antigüedad: 13 años, 2 meses
Puntos: 288
baja perfonmance php

Hola Gente,
en este tiempo me dediqué a hacer al menos 5 exportaciones a csv y escel con php excel,
pero para esto primero tengo que generar el csv y luego convertirlo a excel, lo cual solo sirve para exportaciones pequeñas y medianas.

el problema surje cuando tengo que exportar unos 20.000 o mas resgistros y ademas de acomodarlos para que queden perfectos cada datos en su celda, lo que me lleva a descartar la idea de crear un csv y mucho menos pasarlo a un excel con phpexcel.

Me gustaria, si alguien sabe de algun manera, como acelerar la creacion y descarga de en csv con php.

Nota: solo necesito alguna orientacion o experiencia de alguien que le haya pasado lo mismo

gracias
  #2 (permalink)  
Antiguo 29/05/2013, 08:04
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 8 meses
Puntos: 1532
Respuesta: baja perfonmance php

¿estás diciendo que primero generas un csv, para luego crear el excel?: con phpexcel no hace falta, y dependiendo del DBMS algunos pueden generar csv de forma rápida sin usar PHP, puro SQL, como mysql

recuerdo que PHPExcel tiene una clase especial para lectura y escritura masiva, consulta la documentación, creo que es ExcelWriter o algo así, aunque aquí tienes opciones: http://stackoverflow.com/questions/3...-for-php-excel
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #3 (permalink)  
Antiguo 29/05/2013, 08:38
Avatar de Patriarka  
Fecha de Ingreso: enero-2011
Ubicación: Moreno, Buenos Aires, Argentina
Mensajes: 2.851
Antigüedad: 13 años, 2 meses
Puntos: 288
Respuesta: baja perfonmance php

El problema con phpExcel es que el muy pero muy laborioso armar las celdas para formar el excel final.
Tenes que signar celda por celda cada valor

con cvs es mas que sencillo, igual me diste una idea, tengo que ver de alguna manera, por ahi el phpexcel escribe mas rapido la salida, sin tener que generar el archivo, sino que lo escriba directamente
y muestre en el popup de descarga

por ejemplo esto con csv es inmediato
Código PHP:
Ver original
  1. <?
  2.  
  3.  
  4. //IMPRIMO EN POPUP
  5.  
  6. header("Pragma: public");
  7.         header("Expires: 0");
  8.         header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
  9.         header("Cache-Control: public");
  10.         header("Content-Description: File Transfer");
  11.         header("Content-Type: application/unknown");
  12.         header("Content-Disposition: attachment; filename=micsv.csv");
  13.         header("Content-Transfer-Encoding: binary");
  14.  
  15. while (!$rs->EOF) {
  16.             $email    = $rs->fields["usr_name"];
  17.             $nombre   = $rs->fields["prs_first_name"];
  18.             $apellido = $rs->fields["prs_last_name"];
  19.             $suscribe = $rs->fields["Origen"];
  20.  
  21.                         echo $email." ; " .$nombre." ; " .$apellido." ; " .$suscribe." \n "  ;
  22.  
  23.             }  
  24.  
  25. ?>

pero cuando la query tiene 10 o mas relaciones y ademas son mas de 20000 para mostrar esto puede tardar muchos minutos, ybpor mas que asigne 5minutos de tiempos maximo de ejecucion para el usuario final es una eternidad!!

Última edición por Patriarka; 29/05/2013 a las 08:44

Etiquetas: baja
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 15:23.