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<?php
require_once '../Classes/PHPExcel/IOFactory.php';
$objReader = PHPExcel_IOFactory::createReader('Excel5');
$objPHPExcel = $objReader->load("templates/30template.xls");
$cuenta=7;
$fecha1='2011-03-17';
$fecha2='2012-06-21';
$con = mysql_connect("localhost","root","") or
die("Error en la conexión a MySql"); pagos.id_beneficiario as Id,
pagos.numeracion as Numeracion,
pagos.fecha_deposito as Deposito,
sum(pagos.monto) as Monto,
grupos1.nombre_grupos as Grupo
from
pagos
inner join
grupos_beneficiarios
inner join
grupos1
where
pagos.num_cuenta ='".$cuenta."' and pagos.activo = 1
and grupos_beneficiarios.id_beneficiario = pagos.id_beneficiario
and grupos_beneficiarios.id_grupo = grupos1.id_grupos
and pagos.fecha_deposito between '".$fecha1."' and '".$fecha2."'
group by pagos.numeracion order by pagos.fecha_deposito",$con);
$objPHPExcel->getActiveSheet()->setCellValue('D1', PHPExcel_Shared_Date
::PHPToExcel(time()));
$baseRow = 5;
$ixx = 1;
$r=1;
$Row = $baseRow + $r;
$objPHPExcel->getActiveSheet()->insertNewRowBefore($Row,1);
$objPHPExcel->getActiveSheet()->setCellValue('A'.$Row, $r+1);
$objPHPExcel->getActiveSheet()->setCellValue('B'.$Row, $dataRow['Id']);
$objPHPExcel->getActiveSheet()->setCellValue('C'.$Row, $dataRow['Grupo']);
$objPHPExcel->getActiveSheet()->setCellValue('D'.$Row, $dataRow['Numeracion']);
$objPHPExcel->getActiveSheet()->setCellValue('E'.$Row, $dataRow['Deposito']);
$objPHPExcel->getActiveSheet()->setCellValue('F'.$Row, $dataRow['Monto']);
$ixx = $ixx+1;
}
header('Content-Type: application/vnd.ms-excel'); header('Content-Disposition: attachment;filename="30template.xls"'); header('Cache-Control: max-age=0');
$objPHPExcel->getActiveSheet()->removeRow($baseRow-1,1);
echo date('H:i:s') , "Genero el Archivo." , PHP_EOL
; $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
//$objWriter->save(str_replace('.php', '.xls', __FILE__));
$objWriter->save('php://output');