Sin más un saludo para todos.Espero les sirva para sus aplicaciones, adicional tengo varios cambios que estoy tratando de documentar para hacerlos de su conocimiento.Una vez instalado usamos las clases del plugin para crear el lector de Excel. ( Dejo ejemplo donde uso una planilla existente como formato, escribo los datos en la planilla desde la base de datos y genero la exportación del Excel usando los headers ). El codigo es el siguiente:php symfony plugin:install sfPhpExcelPlugincd /var/www/html/albaBuenas tardes comunidad,Así que decidí explorar como solucion para mi necesidad usar el plugin sfPhpExcelPlugin de symfony, en mi caso tengo a Alba alojado en un server linux, así que voy a la ruta donde se encuentra:
llevo tiempo tratando de que Alba lea archivos en Excel para agregarle funcionalidad al mismo; ya que algunos profesores llevan sus notas en listados y quieren que Alba los lea directo desde sus ficheros xls o xlsx.
public function executeExport($request){
$division_id = $request->getParameter('division');
$periodo_id = $request->getParameter('periodo');
$this->aAlumno = $this->getAlumnos($division_id);
$division = DivisionPeer::retrieveByPk($division_id);
$anio = AnioPeer::retrieveByPk($division->getFkAnioId());
$periodo = PeriodoPeer::retrieveByPk($periodo_id);
$inputFileType = 'Excel2007';
$inputFileName = '/var/www/html/alba/web/uploads/informes/planilla.xlsx';
/** Create a new Reader of the type defined in $inputFileType **/
$objPHPExcel = PHPExcel_IOFactory::load($inputFileName);
$objPHPExcel->setActiveSheetIndex(0);
$j=13;
$objPHPExcel->getActiveSheet()->setCellValue('M7', "Periodo: ".$periodo->getDescripcion());
$objPHPExcel->getActiveSheet()->setCellValue('D8', $anio->getDescripcion());
$objPHPExcel->getActiveSheet()->setCellValue('F9', $division->getDescripcion());
$objPHPExcel->getActiveSheet()->setCellValue('L8', $this->getUser()->getAttribute('usuario'));
$objPHPExcel->getActiveSheet()->setCellValue('L9', $this->getUser()->getAttribute('usuario'));
$x=0;
foreach($this->aAlumno as $alumno){
$objPHPExcel->getActiveSheet()->setCellValue('B'.$j, $x+1);
$objPHPExcel->getActiveSheet()->setCellValue('C'.$j, $alumno->getNroDocumento());
$objPHPExcel->getActiveSheet()->setCellValue('D'.$j, $alumno->getApellido()." ".$alumno->getApellidoMaterno()." ".$alumno->getNombre());
$j++;
$x++;
}
header('Pragma: public');
header('Expires: 0');
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header('Content-Type: application/vnd.ms-excel');
header('Content-Disposition: attachment;filename="planilla_'.$division->getDescripcion()."_".$id_asignatura."_".$periodo->getDescripcion().'.xlsx"');
header('Content-Transfer-Encoding: binary');
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel,$inputFileType);
$objWriter->setOffice2003Compatibility(true);
$objWriter->save('php://output');
return sfView::NONE;
}
_______________________________________________
Alba-usuario mailing list
Alba-usuario@lists.ourproject.org
https://lists.ourproject.org/cgi-bin/mailman/listinfo/alba-usuario