Foros del Web » Programando para Internet » PHP » Zend »

Exportar datos con Zend framework

Estas en el tema de Exportar datos con Zend framework en el foro de Zend en Foros del Web. Hola buenas tardes: Estoy haciendo una aplicacion, basicamente un CRUD, e intento exportar los resultados de una consulta a un archivoe excel. estoy leyendo el ...
  #1 (permalink)  
Antiguo 08/04/2010, 14:29
 
Fecha de Ingreso: abril-2010
Ubicación: Lima-Peru
Mensajes: 94
Antigüedad: 14 años
Puntos: 2
Exportar datos con Zend framework

Hola buenas tardes:

Estoy haciendo una aplicacion, basicamente un CRUD, e intento exportar los resultados de una consulta a un archivoe excel. estoy leyendo el manual y no encuentro como hacerlo. Por favor si alguien me puede dar la mano para resolver este problema. Gracias
  #2 (permalink)  
Antiguo 08/04/2010, 16:05
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: Exportar datos con Zend framework

Lo harías exactamente igual que usando PHP normal. A la fecha Zend no tiene un componente para exportar automaticamente a Excel, por lo que solo es cuestión de que envies las cabeceras correctas e imprimas los datos.

Saludos.
  #3 (permalink)  
Antiguo 09/04/2010, 07:34
 
Fecha de Ingreso: abril-2010
Ubicación: Lima-Peru
Mensajes: 94
Antigüedad: 14 años
Puntos: 2
Respuesta: Exportar datos con Zend framework

Hola GatorV, gracias por responder, estaba revisando y pude hacer esto:

en mi controlador hago lo siguiente:

......

Código PHP:
public function reportAction(){
// deshabilito los layouts   
$this->_helper->layout->disableLayout();
//llamo a mi modelo
   
$order = new Member_Model_OrderDao();
   
$orden=$order->listOrderBegin();


Y en mi vista tengo: Report.phtml

Código PHP:
<?php
header
("Pragma: public");
header("Cache-Control: no-store, no-cache, must-revalidate");
header("Cache-Control: pre-check=0, post-check=0, max-age=0");
header("Pragma: no-cache");
header("Expires: 0");
header("Content-Transfer-Encoding: none");
header("Content-Type: application/vnd.ms-excel;");
header("Content-type: application/x-msexcel");
header("Content-Disposition: attachment; filename=report2_opendebitsummary".date('Ymd').".xls");
?>
 
<html>
<body>
<table border="1">
<tr>
   <td>OS</td>
               <td>Cliente</td>
               
               
</tr>

<tr>
<?php foreach($this->orden as $order):?>
    <td><?php echo $this->escape($order['numero']);?></td>
    <td><?php echo $this->escape($order['abreviatura']);?></td>
</tr>
<?php endforeach;?>
</table>
</body>
</html>
Al general el reporte que si habre un archivo excel, me muestra las cabeceras de la tabla mas no los datos de la query, que podria estar haciendo mal??
  #4 (permalink)  
Antiguo 09/04/2010, 08:04
Avatar de SergeMedina  
Fecha de Ingreso: septiembre-2007
Ubicación: Guadalajara, Jalisco
Mensajes: 459
Antigüedad: 16 años, 7 meses
Puntos: 20
Respuesta: Exportar datos con Zend framework

Que tal. No estoy seguro si es asi como se genera un archivo de excel, pero te recomiendo que en vez de deshabilitar los layouts utilices el ContextSwitch para darle posibilidades al usuario de descargar reportes en distintos formatos.
__________________
I see dead pixels
  #5 (permalink)  
Antiguo 09/04/2010, 08:32
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: Exportar datos con Zend framework

También el problema que tienes es que en tu controller no los asignas a la vista usando $this->view->orden.

Saludos.
  #6 (permalink)  
Antiguo 09/04/2010, 08:53
 
Fecha de Ingreso: abril-2010
Ubicación: Lima-Peru
Mensajes: 94
Antigüedad: 14 años
Puntos: 2
Respuesta: Exportar datos con Zend framework

Gracias GatorV excelente con eso me funcionó, ese detalle me estaba faltado. Pongo el código para alguien que desee exportar a excel.

en el controlador estaba el problema y debería ser asi:

Código PHP:
public function reportAction(){
// deshabilito los layouts   
$this->_helper->layout->disableLayout();
//llamo a mi modelo
   
$order = new Member_Model_OrderDao();
   
$this->view->orden $order->listOrderBegin();

lo demás esta bien.

Gracias.

Saludos desde Lima - Perú

Etiquetas: framework
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 09:55.