Cita:
Iniciado por dayanfer Gracias! adapte el código a mis requerimientos y funciona muy bien. Gracias nuevamente, pero mi problema aun sigue siendo el como realizo la formula en excel y traer los datos.
La otra manera q estaba intentando hacer es usar la opcion de Excel de Importar datos (Crear una consulta) implementar la formula y ahi mismo activar la opcion q cada vez q se abre el archivo.xls se actualicen los datos, lo cual he probado y me funciona cargo mi consulta en el query de excel y me extrae los datos, lo que no se es como extraer del excel esa única celda q me devuelve el valor del resultado de la formula.
Por favor, si alguien sabe como puedo hacer esto. Gracias...
disculpen mi torpeza pero en que directorio ejecuto los comandos:
pear install OLE-1.0.0RC1
pear install Spreadsheet_Excel_Writer-0.9.2
que indican en la pagina de 'Generación de Planillas Excel desde PHP'
y no encuentro este directorio /usr/share/php5/php y dice q cambia de acuerdo al S.O.,
tengo wXP cual es el path q debo de buscar?
Gracias.
Hola dayanfer
Creo que te puede ser mas facil bajar directamente el ejemplo que tengo en el articulo
Generación de Planillas Excel desde PHP (donde dice 'Download Example + Pear'), ya que en el se encuentran las librerias necesarias.
Leyendo en la red encontre una función que implementa el
algoritmo de regresión lineal en PHP.
Llame a la función con los datos que nos entregastes ( TENDENCIA(C2:C7) , considerando a la variable indepediente x como 1 2 3 4 5 6 7) y obtube el mismo resultado 3,476190476
Código PHP:
<?php
/**
* linear regression function
* @param $x array x-coords
* @param $y array y-coords
* @returns array() m=>slope, b=>intercept
*/
function linear_regression($x, $y) {
// calculate number points
$n = count($x);
// ensure both arrays of points are the same size
if ($n != count($y)) {
trigger_error("linear_regression(): Number of elements in coordinate arrays do not match.", E_USER_ERROR);
}
// calculate sums
$x_sum = array_sum($x);
$y_sum = array_sum($y);
$xx_sum = 0;
$xy_sum = 0;
for($i = 0; $i < $n; $i++) {
$xy_sum+=($x[$i]*$y[$i]);
$xx_sum+=($x[$i]*$x[$i]);
}
// calculate slope
$m = (($n * $xy_sum) - ($x_sum * $y_sum)) / (($n * $xx_sum) - ($x_sum * $x_sum));
// calculate intercept
$b = ($y_sum - ($m * $x_sum)) / $n;
// return result
return array("m"=>$m, "b"=>$b);
}
$datos = ( linear_regression(array(1, 2, 3, 4,5,6), array(1,6,8, 0 ,2 ,6)) );
echo $datos["m"] + $datos["b"];
?>
Creo que te puede ayudar.
Saludos.