Aporte: Trabajar con archivos excel desde php. - Versión para impresión +- ChuJALT (https://chujalt.com) +-- Foro: LENGUAJES PROGRAMACIÓN (https://chujalt.com/forum-18.html) +--- Foro: php (https://chujalt.com/forum-27.html) +--- Tema: Aporte: Trabajar con archivos excel desde php. (/thread-26.html) |
Trabajar con archivos excel desde php. - chujalt - 07-03-2021 Saludos. En este post vamos a trabajar con un archivo excel desde php. Para este ejemplo vamos a trabajar con uno con dos columnas y 24 filas, Una de las columnas son horas (de 1 a 24) y en cada hora un precio, Si lo queréis bajar AQUI. También necesitaremos un archivo para leer el archivo excel , se trata de excel_reader2.php, merito a su autor, te lo puedes bajar de AQUI. Bien, manos a la obra, en primer lugar tendremos que cargar excel_reader2.php y el propio archivo excel, por lo que al principio de la página pondremos: Código PHP: <?php Ahora vamos a crear un array con los valores de las filas y columnas con las que queremos trabajar, pondremos: Código PHP: $pepe[1] = $data->raw(1, 2); Con esto tendremos un array con las 24 horas y el precio de cada una de ellas. Vamos a ver el array, escribimos: Código PHP: print_r($pepe); y obtendremos: Código: Array ( [1] => 121,13838673 [2] => 119,52911591 [3] => 116,56370045 [4] => 113,88535263 [5] => 113,5654684 [6] => 114,06312135 [7] => 116,70671779 [8] => 117,69285692 [9] => 115,08610616 [10] => 114,66693383 [11] => 113,06913537 [12] => 110,99255973 [13] => 110,92340009 [14] => 111,20173737 [15] => 110,60698288 [16] => 110,49370675 [17] => 108,41762924 [18] => 108,57877114 [19] => 110,6906715 [20] => 112,97520268 [21] => 119,26980347 [22] => 121,53522841 [23] => 119,32600748 [24] => 117,68262512 ) Otra manera de ver los valores del array: Código PHP: var_dump($pepe); Y obtendremos: Código: array(24) { [1]=> float(121,13838673) [2]=> float(119,52911591) [3]=> float(116,56370045) [4]=> float(113,88535263) [5]=> float(113,5654684) [6]=> float(114,06312135) [7]=> float(116,70671779) [8]=> float(117,69285692) [9]=> float(115,08610616) [10]=> float(114,66693383) [11]=> float(113,06913537) [12]=> float(110,99255973) [13]=> float(110,92340009) [14]=> float(111,20173737) [15]=> float(110,60698288) [16]=> float(110,49370675) [17]=> float(108,41762924) [18]=> float(108,57877114) [19]=> float(110,6906715) [20]=> float(112,97520268) [21]=> float(119,26980347) [22]=> float(121,53522841) [23]=> float(119,32600748) [24]=> float(117,68262512) } Ahora vamos a mostrar los valores ordenados de menor a mayor precio: Código PHP: asort($pepe); Obtenermos: Código: array ( 17 => 108.41762924, 18 => 108.57877114, 16 => 110.49370675, 15 => 110.60698288, 19 => 110.69067149999999, 13 => 110.92340009, 12 => 110.99255973, 14 => 111.20173737, 20 => 112.97520268, 11 => 113.06913537, 5 => 113.5654684, 4 => 113.88535263, 6 => 114.06312135, 10 => 114.66693383, 9 => 115.08610616, 3 => 116.56370045, 7 => 116.70671779, 24 => 117.68262512, 8 => 117.69285692, 21 => 119.26980347, 23 => 119.32600748, 2 => 119.52911591, 1 => 121.13838672999999, 22 => 121.53522841, ) Vamos a Mostrar el precio mas bajo: Código PHP: echo min($pepe); Obtenemos: Código: 108,41762924 Vamos a mostrar la hora en la que está el precio mas bajo: Código PHP: $min_keys = array(); y obtenemos: Código: 17 En esta ocasión vamos a mostrar los precios de menor a mayor: Código PHP: foreach($pepe as $pepito){ Con lo que obtendremos: Código: 108,41762924 Vamos a mostrar los horarios de menor a mayor precio: Código PHP: $juan = array_keys($pepe); Y obtendremos: Código: 17 Vamos a mostrar los horarios con el precio ordenados de menor a mayo: Código PHP: foreach ($pepe as $hora => $precio) { Obtenemos: Código: A las 17 horas el precio será 108,41762924. Ahora vamos a mostrar el precio mas bajos que yo quiero, en esta ocasión el precio mas bajo y el cuarto mas bajo: Código PHP: echo $juan[0]."<br>"; La salida será: Código: 17 Vamos a calcular el valor medio del precio: Código PHP: $promedio=array_sum($pepe)/count($pepe); Nos mostrará: Código: El valor medio de hoy es: 114,52755089167 € Vamos a mostrar el precio de la hora actual de nuestro sistema y lo compara con la media: Código PHP: $tiempo = getdate(time()); Y obtenemos: Código: la hora actual es 20 horas Bueno, ya está, espero que le sirva a alguien de ayuda. Saludos. |