PHP - excel a tabla

   
Vista:
Imágen de perfil de siREZ

excel a tabla

Publicado por siREZ sirez2@hotmail.com (201 intervenciones) el 02/12/2013 16:18:52
Cordial Saludo

Alguien me puede explicar este código?

1
2
3
4
5
6
7
8
9
<table border="4">
<? for ($row=1;$row<=$xls->rowcount();$row++) { ?>
	<tr>
	<? for ($col=1;$col<=$xls->colcount();$col++) {	?>
		<td><?= $xls->val($row,$col) ?></td>
	<? } ?>
	</tr>
<? } ?>
</table>

estoy leyendo un xls en el servidor y colocándolo en pantalla en una <table>
me coloca la primera linea con los nombres de las columnas del xls
luego me lista todas las filas. Hasta ahí lo entiendo.

yo quisiera obtener una variable $titulos con la primera linea
una variable $fila2 con la primera linea de datos, osea la LINEA 2
$fila3 con la linea 3 y así sucesivamente

me pueden dar una pista?
gracias


el código completo es:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
function toggle(state) {
	var divs = document.getElementsByTagName('div');
	for (var i=0; i<divs.length; i++) {
		divs[i].style.display = (state)?'inline':'none';
	}
}
</script>
</head>
<body>
<table border="4">
<? for ($row=1;$row<=$xls->rowcount();$row++) { ?>
	<tr>
	<? for ($col=1;$col<=$xls->colcount();$col++) {	?>
		<td><?= $xls->val($row,$col) ?></td>
	<? } ?>
	</tr>
<? } ?>
</table>

gracias.

siREZ
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 xve

excel a tabla

Publicado por xve (5515 intervenciones) el 02/12/2013 17:16:14
Hola siREZ, la verdad es que esto que quieres hacer no es muy optimo, ya que si hay 1000 lineas, crearías 1000 variables... lo suyo seria utilizar un array que contenga todos los valores.

De todas maneras, para crear las variables como comentas, tendría que ser algo así:

1
2
3
4
5
6
7
8
9
10
11
12
<table border="4">
<? for ($row=1;$row<=$xls->rowcount();$row++) { ?>
	<tr>
	<? for ($col=1;$col<=$xls->colcount();$col++) {	?>
		<td><?= $xls->val($row,$col) ?></td>
                <?php
                ${"var".$row}=$xls->val($row,$col);
                ?>
	<? } ?>
	</tr>
<? } ?>
</table>

No lo he probado... si nos puedes comentar como ha ido...
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 Roberto

excel a tabla

Publicado por Roberto (201 intervenciones) el 02/12/2013 17:19:58
gracias xve.

te pregunto: como creo el array?
puedo crear un array para una fila o linea?

la verdad, no estoy familiarizaco con los array y sus funciones.

gracias

siREZ
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 xve

excel a tabla

Publicado por xve (5515 intervenciones) el 02/12/2013 21:36:08
Hola, puedes crearlo para lo que desees, dependiendo de tus necesidades...

Por ejemplo, un array puedes llenarlo así:
1
2
3
4
$miArray=array();
$miArray[]="primer valor";
$miArray[]="segundo valor";
...

y para mostrar todos sus valores:
1
2
3
4
foreach($miArray as $valor)
{
     echo $valor;
}

para acceder a un valor en concreto:
1
echo $miArray[1]
recuerda que 0 es la primera posición del array.

Luego hay los array bidimensionales, que contienen un array en su interior... algo así:
1
2
3
4
$miArray=array();
$miArray[]=array("primer valorA","primer valorB");
$miArray[]=array("segundo valorA","segundo valorB");
...

También existen los arrays asociativos o diccionarios:
1
$miArray=array("casa"=>"primer valor", "coche"=>"segundo valor");

Si necesitas saber algo mas, no dudes en consultarnos...
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

excel a tabla

Publicado por Elier (92 intervenciones) el 03/12/2013 14:57:18
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
<?php
$rowcount = $xls->rowcount();
$colcount = $xls->colcount();
 
//Obtenemos de la fila 1 el encabezamiento de cada columna
for ($col=1;$col<=$colcount; $col++)
{
	$titulo[$col] = $xls->val(1,$col);
}
 
 
// Comienzan los datos en la fila 2
for ($row=2; $row<=$rowcount; $row++)
{
	for ($col=1;$col<=$colcount; $col++)
	{
	 	$tc = $titulo[$col];
	 	$filas[$row][$tc] = $xls->val($row,$col);
	}
}
 
// Suponiendo que un encabezamiento se llama Nombre podemos hacer los siguiente
foreach ($filas as $fila) {
	echo $fila['Nombre'];
}
?>
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