Ver Mensaje Individual
  #1 (permalink)  
Antiguo 22/08/2012, 12:48
Avatar de jmacc
jmacc
 
Fecha de Ingreso: marzo-2007
Ubicación: Mexico
Mensajes: 94
Antigüedad: 17 años, 1 mes
Puntos: 6
Información PHPExcel save

Uso el siguiente codigo para generar un archivo excel desde una base de datos.
Pero al exportar el archivo a una ubicacion diferente, no me genera el archivo de excel la informacion,solo genera basura Ejemplo:
"#$#$%&$/$/$%&%$&$
34&$%&$%/%&/%/(/(/(

Pero si genero el archivo en la misma ubicacion del codigo funciona perfectamente.

Mi codigo es:
Código PHP:
Ver original
  1. <?php
  2. date_default_timezone_set('Europe/London');
  3.     require_once '../Classes/PHPExcel/IOFactory.php';
  4.     $objReader = PHPExcel_IOFactory::createReader('Excel5');
  5.     $objPHPExcel = $objReader->load("templates/30template.xls");
  6.  
  7. $cuenta=7;
  8. $fecha1='2011-03-17';
  9. $fecha2='2012-06-21';
  10.     $con = mysql_connect("localhost","root","") or die("Error en la conexión a MySql");
  11.     mysql_select_db("ssd", $con);
  12. $srt=mysql_query("select
  13.    pagos.id_beneficiario as Id,
  14.    pagos.numeracion as Numeracion,
  15.    pagos.fecha_deposito as Deposito,
  16.    sum(pagos.monto) as Monto,
  17.    grupos1.nombre_grupos as Grupo
  18. from
  19.    pagos
  20.        inner join
  21.    grupos_beneficiarios
  22.        inner join
  23.    grupos1
  24. where
  25.    pagos.num_cuenta ='".$cuenta."' and pagos.activo = 1
  26.    and grupos_beneficiarios.id_beneficiario = pagos.id_beneficiario
  27.    and grupos_beneficiarios.id_grupo = grupos1.id_grupos
  28.    and pagos.fecha_deposito between '".$fecha1."' and '".$fecha2."'
  29. group by pagos.numeracion order by pagos.fecha_deposito",$con);
  30.  
  31. $objPHPExcel->getActiveSheet()->setCellValue('D1', PHPExcel_Shared_Date::PHPToExcel(time()));
  32.  
  33. $baseRow = 5;
  34. $ixx = 1;
  35. $r=1;
  36.  
  37. while($dataRow = mysql_fetch_assoc($srt)) {
  38.     $Row = $baseRow + $r;
  39.     $objPHPExcel->getActiveSheet()->insertNewRowBefore($Row,1);
  40.     $objPHPExcel->getActiveSheet()->setCellValue('A'.$Row, $r+1);
  41.     $objPHPExcel->getActiveSheet()->setCellValue('B'.$Row, $dataRow['Id']);
  42.     $objPHPExcel->getActiveSheet()->setCellValue('C'.$Row, $dataRow['Grupo']);
  43.     $objPHPExcel->getActiveSheet()->setCellValue('D'.$Row, $dataRow['Numeracion']);
  44.     $objPHPExcel->getActiveSheet()->setCellValue('E'.$Row, $dataRow['Deposito']);
  45.     $objPHPExcel->getActiveSheet()->setCellValue('F'.$Row, $dataRow['Monto']);
  46.     $ixx = $ixx+1;
  47. }
  48.  
  49. header('Content-Type: application/vnd.ms-excel');
  50. header('Content-Disposition: attachment;filename="30template.xls"');
  51. header('Cache-Control: max-age=0');
  52.        
  53.             ob_end_clean();
  54.            
  55.     $objPHPExcel->getActiveSheet()->removeRow($baseRow-1,1);
  56. echo date('H:i:s') , "Genero el Archivo." , PHP_EOL;
  57.     $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
  58.      //$objWriter->save(str_replace('.php', '.xls', __FILE__));
  59.     $objWriter->save('php://output');
__________________
Los bueno Chicos Acaban Primero.
User Linux: #527435