Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Creación dos excels

Estas en el tema de Creación dos excels en el foro de PHP en Foros del Web. Buenas, Llevo todo el día con el tema y no hay manera. Podría alguien decirme porqué el documento primero.xlsx se crea con la plantilla gastos.xls ...
  #1 (permalink)  
Antiguo 12/07/2017, 13:01
 
Fecha de Ingreso: enero-2002
Ubicación: Sabadell
Mensajes: 565
Antigüedad: 22 años, 11 meses
Puntos: 4
Creación dos excels

Buenas,
Llevo todo el día con el tema y no hay manera. Podría alguien decirme porqué el documento primero.xlsx se crea con la plantilla gastos.xls y segundo.xlsx no?
Hoy sigo con el problema, por favor nadie sabe porqué el segundo excel no carga la plantilla?

Muchas gracias



Código PHP:
Ver original
  1. $objPHPExcel = new PHPExcel();
  2.  
  3.             $objReader = PHPExcel_IOFactory::createReader('Excel5');
  4.             $objPHPExcel = $objReader->load("../plantillas/gastos.xls");
  5.             $objPHPExcel->setActiveSheetIndex(0);    
  6.             $objPHPExcel->getActiveSheet()->SetCellValue('M9' ,"aaaaa");
  7.             $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');
  8.             $archivo = "../temp/primero.xlsx";
  9.             $objWriter->save($archivo);
  10.             unset ($objReader, $objPHPExcel);
  11.             unset ($objWriter, $objPHPExcel);  
  12.  
  13.             $objReader = PHPExcel_IOFactory::createReader('Excel5');
  14.             $objPHPExcel = $objReader->load("../plantillas/gastos.xls");
  15.             $objPHPExcel->setActiveSheetIndex(0);    
  16.             $objPHPExcel->getActiveSheet()->SetCellValue('M9' ,"bbbb");
  17.             $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');
  18.             $archivo = "../temp/segundo.xlsx";
  19.             $objWriter->save($archivo);
  20.             unset ($objReader, $objPHPExcel);
  21.             unset ($objWriter, $objPHPExcel);
__________________
Qué fácil cuando lo sabes y qué difícil cuando no

Última edición por mblascog; 13/07/2017 a las 12:03
  #2 (permalink)  
Antiguo 16/07/2017, 12:41
Avatar de bookmaster  
Fecha de Ingreso: febrero-2002
Ubicación: Toledo
Mensajes: 976
Antigüedad: 22 años, 10 meses
Puntos: 67
Respuesta: Creación dos excels

Me imagino que es porque estas haciendo el unset a $objPHPExcel antes de entrar en el segundo. Y no le vuelves a declarar, cosa que si haces con $objPHPExcel.
__________________
Decir si te a funcionado la respuesta es ¡GRATIS!. Por favor indicarlo.
http://www.lohacemosweb.net
http://tutoriales.lohacemosweb.net
  #3 (permalink)  
Antiguo 17/07/2017, 00:55
 
Fecha de Ingreso: enero-2002
Ubicación: Sabadell
Mensajes: 565
Antigüedad: 22 años, 11 meses
Puntos: 4
Respuesta: Creación dos excels

Muchas gracias por tu respuesta. Lo he probado con unset de todos, sin unset y nada, no le veo la lógica pero lo he resulto de la siguiente forma:
Según el contenido de una tabla creo los diferentes excels. Pues la solución, que no creo que sea la mejor, ha estado liberar el createReader cada vez que generaba el excel, pero no liberar el createWriter, y crear otro de nuevo. Al final hago un save de todos.
No lo entiendo, pero funciona.

Muchas gracias
__________________
Qué fácil cuando lo sabes y qué difícil cuando no

Etiquetas: creación
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 11:55.