[Alba-usuario] Exportar o cargar listados en Excel

Jordi López jordilopezamat en gmail.com
Vie Jun 14 16:45:27 CEST 2013


Gracias Oscar por compartir tu desarrollo del Proyecto Alba. En fin, que
decir ! ... en días como hoy nos reafirmamos en lo que hacemos y en como
tratamos de hacer  (software libre) , ¿no creen?

 Creo que Alberto y el resto de la comunidad educativa de la Escuela los
Arrayanes de Rosario, (entre otras!), van a poder así disfrutar de dicha
funcionalidad que estaban necesitando.

... y por sistematizar la incorporación del código aportado al código base
del Proyecto Alba, se me ocurre que podriamos :

https://github.com/proyectoalba/alba/issues/36

...y, Oscar, teniendo como tienes ya tu cuenta en *Github*... el
repositorio de trabajo que recién empezamos a  usar en comunidad del
Proyecto Alba, siguiendo paso a paso las indicaciones que nos dan los
simpáticos githubbers acá
<https://help.github.com/articles/fork-a-repo>¿te animas a que
coordinemos un
*merge* de tu valiosísimo *fork* para poder incorporarlo a la nueva versión
1.2 que estamos por lanzar?¿alguien más quiere sumarse  y entre todos le
ponemos así la guinda al pastel? Ja,JA!!


saludos libres


El 13 de junio de 2013 20:24, Oscar Pardo <oscar.pardo1920 en gmail.com>escribió:

> Buenas tardes comunidad,
>
> 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.
>
> 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:
>
> cd /var/www/html/alba
> php symfony plugin:install sfPhpExcelPlugin
>
> 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:
>
> 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;
>     }
>
> Espero les sirva para sus aplicaciones, adicional tengo varios cambios que
> estoy tratando de documentar para hacerlos de su conocimiento.
>
> Sin más un saludo para todos.
>
> _______________________________________________
> Alba-usuario mailing list
> Alba-usuario en lists.ourproject.org
> https://lists.ourproject.org/cgi-bin/mailman/listinfo/alba-usuario
>
>


-- 
*Jordi*
 Puedes también encontrarme en :
     http://identi.ca/jordilopezamat
     twitter : @jordilopezamat
     skype : llopis73
     celular: 1121679084  ( ͡° ͜ʖ ͡°)
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: https://lists.ourproject.org/pipermail/alba-usuario/attachments/20130614/e0d84cde/attachment.htm 


Más información sobre la lista de distribución Alba-usuario