martes, 14 de junio de 2011

Exportar a Excel en Symfony

Típico que necesitas exportar a una hoja de calculo el resultado de alguna consulta..
bien, es simple, solo debes indicar en el action que no usaras el layout y que vas a cambiar el tipo de salida de la respuesta..
Primero, supongamos que vamos a enviar a una hoja de calculo nuestro Index, podriamos generar un action para realizar esta tarea.
En el index agragamos un vinculo a nuestra accion

<a class="ods" href="<?php echo url_for('item/indexExport') ?>">Exportar</a>

Y la accion seteamos el layout en false y modificamos el contentype del response...
public function executeIndexExport(sfWebRequest $request)
  {
   $this->items = Doctrine_Core::getTable('Item')
      ->createQuery('a')
      ->orderBy('a.categoria_id,a.descripcion')
      ->execute();
   $this->setLayout(false);
   $this->getResponse()->setContentType('application/msexcel');
   $this->setTemplate('index');
  }

luego... ejecutas, pruebas y guardas el archivo generado y listo!

No hay comentarios:

Publicar un comentario