PHP - generar Excel php con estructura <table>

 
Vista:
Imágen de perfil de Eduardo
Val: 165
Ha aumentado 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

generar Excel php con estructura <table>

Publicado por Eduardo (174 intervenciones) el 21/01/2021 22:42:33
Hola tengo una BSD el cual consta de una tabla llamada bascula y en ella los campos

id
placa
fecha
horaentrada
pesoentrada
horasalida
pesosalida
neto
conductor
municipio
estado
codigo
otro

de las siguientes solo desearia mostrar en este siguiente archivo php que me genera un excel (mostrandome todos los campos) y solo deseo mostrar en el excel

id
placa
fecha
horaentrada
pesoentrada
horasalida
pesosalida
neto
conductor
municipio

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
if($placa=="TODOS"){
header("Content-type: application/vnd.ms-excel" );
header("Content-Disposition: attachment; filename=Reporte Bascula Fecha: ".$Newfecha1." A ".$Newfecha2.".xls");
$servidor="localhost";
$user="usuario";
$pass="contrasena";
$db="basededatos";
$tabla="tablavascula";
mysql_connect($servidor,$user,$pass) ;
mysql_select_db($db) ;
$qry=mysql_query("SELECT * FROM $tabla WHERE fecha BETWEEN '$fecha1' AND '$fecha2' AND otro='Listo' ORDER BY id ASC") ;
$campos = mysql_num_fields($qry) ;
$total = mysql_num_rows($qry);
$i=1;
//$i=0;
echo "<table border=1><tr>";
echo "<td colspan='12'><center><b>SERVIASEO REPORTE BASCULA FECHA:  ".$Newfecha1." A ".$Newfecha2." </center></b></td>";
echo "</tr>";
while($i<$campos){
echo "<td><center><b>".strtoupper(mysql_field_name ($qry, $i)) ;
echo "</center></b></td>";
$i++;
}
echo "</tr>";
while($row=mysql_fetch_array($qry)){
echo "<tr>";
for($j=1; $j<$campos; $j++) {
//for($j=0; $j<$campos; $j++) {
echo "<td>".utf8_decode($row[$j])."</td>";
}
echo "</tr>";
}
echo "</table>";


La parte que deseo es cambiar el arreglo y hacerlo manual ya que el arreglo cuenta los campos de la tabla y los lista automático

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
echo "<table border=1><tr>";
echo "<td colspan='12'><center><b>SERVIASEO REPORTE BASCULA FECHA:  ".$Newfecha1." A ".$Newfecha2." </center></b></td>";
echo "</tr>";
while($i<$campos){
echo "<td><center><b>".strtoupper(mysql_field_name ($qry, $i)) ;
echo "</center></b></td>";
$i++;
}
echo "</tr>";
while($row=mysql_fetch_array($qry)){
echo "<tr>";
for($j=1; $j<$campos; $j++) {
//for($j=0; $j<$campos; $j++) {
echo "<td>".utf8_decode($row[$j])."</td>";
}
echo "</tr>";
}
echo "</table>";

y deseo solo mostrar algunos los que necesito y estructurar la tabla a la "antigua" es decir algo asi:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<table id="" class="table table-striped table-bordered">
<tr>
<th>PLACA</th>
<th>FECHA</th>
<th>HORA ENTRADA</th>
<th>PESO ENTRADA</th>
<th>HORA SALIDA</th>
<th>PESO SALIDA</th>
<th>NETO</th>
<th>CONDUCTOR</th>
<th>MUNICIPIO</th>
</tr>
<tbody>
<?php foreach($developer_records as $developer) { ?>
<tr>
<td><?php echo $developer ['placa']; ?></td>
<td><?php echo $developer ['fecha']; ?></td>
<td><?php echo $developer ['horaentrada']; ?></td>
<td><?php echo $developer ['pesoentrada']; ?></td>
<td><?php echo $developer ['horasalida']; ?></td>
<td><?php echo $developer ['pesosalida']; ?></td>
<td><?php echo $developer ['neto']; ?></td>
<td><?php echo $developer ['conductor']; ?></td>
<td><?php echo $developer ['municipio']; ?></td>
</tr>
<?php } ?>
</tbody>
</table>

pero me enrredo en el row ['xx']; en este caso $developer ['campox']; para asi mostrar los campos que solo necesito y jugar con sus valores

me ayudan por fis!!!
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
Imágen de perfil de Mauro
Val: 2.761
Oro
Ha aumentado 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

generar Excel php con estructura <table>

Publicado por Mauro (1036 intervenciones) el 22/01/2021 13:34:39
Hola Eduardo:

¿No podrías cambiar tu query para que en lugar de seleccionar * seleccione sólo los campos que te interesan?
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
Imágen de perfil de Eduardo
Val: 165
Ha aumentado 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

generar Excel php con estructura <table>

Publicado por Eduardo (174 intervenciones) el 22/01/2021 13:59:12
Si si puedo pero adenas deseria poner unas opciones a cada campo cono por ejemplo number_format() a uno y asi jugar con el formato...cosa que asi no puedo por que asi crea los canpos y columas automatico.. y no me preguntes que por que no las guardo formateadas en la BD pues hay algunas que hacen unos calculos directos y no puedo guardar con . O , flot por.qie los calculos luego fallan.. mil gracias por responder.. espero me puedas ayudar
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
Imágen de perfil de Mauro
Val: 2.761
Oro
Ha aumentado 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

generar Excel php con estructura <table>

Publicado por Mauro (1036 intervenciones) el 22/01/2021 20:03:33
Comprendo... pues como yo lo resolvería sería usando algo de programación funcional.

Por ejemplo, definiría un array donde cada clave sea el título de un campo y el valor sería la función de transformación que hay que aplicar a cada caso.

Luego haría lo que te decía antes de identificar qué hay en cada columna y luego, al recorrer las celdas de la planilla aplicaría la función que le corresponde a cada dato según el array definido al comienzo.

Una vez que tengas todo eso puedes guardar a la db sin problemas.

Suerte y consúltame cualquier cosa ;)
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