Hola amigos como estais,
Vereis estoy usando PHPExcel por recomendacion de algunos compañeros del foro, la cosa es que me da el siguiente error al crearlo el excel, decir que he probado con un ejemplo por defecto y funciona asique descartamos cosas de configuracion y demas.
Errores:
Warning: Cannot modify header information - headers already sent by (output started at /home/esfera10/public_html/cofranet/cerrar_session.php:8) in /home/esfera10/public_html/cofranet/creando_excel.php on line 108
Warning: Cannot modify header information - headers already sent by (output started at /home/esfera10/public_html/cofranet/cerrar_session.php:8) in /home/esfera10/public_html/cofranet/creando_excel.php on line 109
Warning: Cannot modify header information - headers already sent by (output started at /home/esfera10/public_html/cofranet/cerrar_session.php:8) in /home/esfera10/public_html/cofranet/creando_excel.php on line 110
El archivo completo es este:
Código PHP:
Ver original<?php
include_once('cerrar_session.php');
include_once('conexion.php');
require_once '../excel/Classes/PHPExcel.php';
// Crea un nuevo objeto PHPExcel
$objPHPExcel = new PHPExcel();
// Establecer propiedades
$objPHPExcel->getProperties()
->setCreator("Cattivo")
->setLastModifiedBy("Cattivo")
->setTitle("Documento Excel de Prueba")
->setSubject("Documento Excel de Prueba")
->setDescription("Demostracion sobre como crear archivos de Excel desde PHP.")
->setKeywords("Excel Office 2007 openxml php")
->setCategory("Pruebas de Excel");
$consulta = 'SELECT u.Nusuario, u.Ncofradia, u.Avatar, u.Apellidos, u.Nombre, c.cargo, u.Telefono_fijo, u.Mostrar_Telefono_fijo FROM usuarios u inner join cofradias_cargos c ON u.Ncargo = c.Ncargo WHERE u.Ncofradia = '.$_SESSION["Ncofradia"];
if($_POST['Nombre'] != ""){
$consulta .= " AND Nombre LIKE '%" .$_POST['Nombre']. "%'";
}
if($_POST['Apellidos'] != ""){
$consulta .= " AND Apellidos LIKE '%" .$_POST['Apellidos']. "%'";
}
if($_POST['DNI'] != ""){
$consulta .= " AND DNI LIKE '%" .$_POST['DNI']. "%'";
}
if($_POST['Cargo'] != ""){
$consulta .= " AND u.Ncargo = " .$_POST['Cargo'];
}
if($_POST['Grupo'] != ""){
$consulta .= " AND u.NUsuario IN ( SELECT NUsuario FROM grupo_usuario WHERE NGrupo = ".$_POST['Grupo']." )";
}
$consulta .= ' ORDER by Apellidos, Nombre ';
$i = 3;
// Agregar Informacion
$objPHPExcel->setActiveSheetIndex(0)
->setCellValue('A'.$i, $array_excel['Nombre'])
->setCellValue('B'.$i, $array_excel['Apellidos'])
->setCellValue('C'.$i, $array_excel['fecha_nacimiento'])
->setCellValue('D'.$i, $array_excel['DNI'])
->setCellValue('E'.$i, $array_excel['fecha_ingreso'])
->setCellValue('F'.$i, $array_excel['Direccion'])
->setCellValue('G'.$i, $array_excel['Localidad'])
->setCellValue('H'.$i, $array_excel['Codigo_Postal'])
->setCellValue('I'.$i, $array_excel['Telefono_fijo'])
->setCellValue('J'.$i, $array_excel['Telefono_movil'])
->setCellValue('K'.$i, $array_excel['Email']);
$i++;
}
$objPHPExcel->setActiveSheetIndex()->setCellValue('A1', 'Nombre');
$objPHPExcel->setActiveSheetIndex()->setCellValue('B1', 'Apellidos');
$objPHPExcel->setActiveSheetIndex()->setCellValue('C1', 'Fecha de nacimiento');
$objPHPExcel->setActiveSheetIndex()->setCellValue('D1', 'DNI');
$objPHPExcel->setActiveSheetIndex()->setCellValue('E1', 'Fecha de ingreso');
$objPHPExcel->setActiveSheetIndex()->setCellValue('F1', 'Direccion');
$objPHPExcel->setActiveSheetIndex()->setCellValue('G1', 'Localidad');
$objPHPExcel->setActiveSheetIndex()->setCellValue('H1', 'Codigo postal');
$objPHPExcel->setActiveSheetIndex()->setCellValue('I1', 'Telefono fijo');
$objPHPExcel->setActiveSheetIndex()->setCellValue('J1', 'Telefono movil');
$objPHPExcel->setActiveSheetIndex()->setCellValue('K1', 'Email');
// Renombrar Hoja
$objPHPExcel->getActiveSheet()->setTitle('Tecnologia Simple');
// Establecer la hoja activa, para que cuando se abra el documento se muestre primero.
$objPHPExcel->setActiveSheetIndex(0);
// Se modifican los encabezados del HTTP para indicar que se envia un archivo de Excel.
header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'); header('Content-Disposition: attachment;filename="pruebaReal.xlsx"'); header('Cache-Control: max-age=0'); $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');
$objWriter->save('php://output');
?>
A ver si alguien sabe un poco del tema y puede orientarme un poquito sobre lo que puede estar pasando.
Un saludo