PHP - mas de php exportado aexcel

   
Vista:

mas de php exportado aexcel

Publicado por Nati (1 intervención) el 11/10/2007 21:04:56
hola a todos:
he estado tabajando con la exportacion de datos desde php a excel usando algunas librerias, todo bien hasta ahi, pero cuando hago una consulta a la base de datos los muestro mediante un while pero resulta que siempre
me muestra el ultimo dato, y me debiera mostrar todos los datos que arrojan la consulta,
mi consulta es como saltarme de fila para mostrar los datos de la consulta en excel, existe alguna propiedad en excel para hacerlo?? desde ya gracias

Asi se ve el codigo:

<?

set_time_limit(100);
require_once "excel/class.writeexcel_workbook.inc.php";
require_once "excel/class.writeexcel_worksheet.inc.php";

$fname = tempnam("/tmp", "merge2.xls");
$workbook = &new writeexcel_workbook($fname);
$worksheet = &$workbook->addworksheet();
$worksheet->set_column(0, 3, 15);

$sql="select cod_orden_traba,fecha from ordentrabajo where duracion_trab='00' ";
$resp=mysql_query($sql);

while ($fila=mysql_fetch_array($resp)){

$worksheet->write(5, 1,$fila["0"]);
$worksheet->write(5, 2,$fila["1"]);

}

$worksheet->write(1, 5,"INFORME DE VIAJES POR VEHICULO");
$worksheet->write(2, 1,"DESDE ");

$worksheet->write(2, 3,"HASTA ");

$worksheet->write(4, 0,"SERVICIO" );
$worksheet->write(4, 1,"FECHA " );
$worksheet->write(4, 2,"PATENTE " );

$workbook->close();
header("Content-Type: application/x-msexcel");
$fh=fopen($fname, "rb");
fpassthru($fh);
unlink($fname);

?>
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:mas de php exportado aexcel

Publicado por Diego Romero (1450 intervenciones) el 11/10/2007 21:12:37
Pues a ojos vista *me parece* que estas sentencias:

$worksheet->write(5, 1,$fila["0"]);
$worksheet->write(5, 2,$fila["1"]);

están escribiendo siempre sobre las mismas celdas. Por lo tanto solo queda la última escritura=el último registro.

PD: nunca trabajé con esta biblioteca para Excel.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:mas de php exportado aexcel

Publicado por Nati (1 intervención) el 11/10/2007 21:50:09
YAp, pero como hago que no muestre el ultimo registro, de veras que agradeceria la ayuda
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:mas de php exportado aexcel

Publicado por Diego Romero (1450 intervenciones) el 11/10/2007 23:21:53
¿Que no muestre el último registro?, no te entiendo. Vuelvo a avisar que nunca usé la biblioteca esa.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:mas de php exportado aexcel

Publicado por Carlos Morales (4 intervenciones) el 16/10/2007 21:18:02
Hola Nati:

si no me equivoco, cuando decis que tu problema se debe a que solo te muestra un solo dato de todas las filas que te deberia mostrar, y si no me equivoco, queres que te los muestre a partir de la fila 5, entonces se debe a lo siguiente:

while ($fila=mysql_fetch_array($resp)){

$worksheet->write(5, 1,$fila["0"]);
$worksheet->write(5, 2,$fila["1"]);

}

la funcion write (fila, col, contenido); y siempre estas escribiendo sobre la misma fila, es por eso que siempre te aparece el ultimo registro, creo que si lo reemplazas por esto te puede funcionar:

.
.
$cont_fila = 5
while ($fila=mysql_fetch_array($resp)){

$worksheet->write($cont_fila, 1,$fila["0"]);
$worksheet->write($cont_fila, 2,$fila["1"]);

$cont_fila++;

}

.
.

Podes probarlos y decirme que tal te fue, por cierto respecto a las librerias que estas usando son las mismas de PEAR, o podes decirme de donde las bajaste o enviarmelas por correo :-D, camorales84@gmail.com

saludos,

Carlos Morales
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar