Tema: EXCEL y PHP
Ver Mensaje Individual
  #12 (permalink)  
Antiguo 17/03/2010, 11:13
Avatar de DeeR
DeeR
 
Fecha de Ingreso: diciembre-2003
Ubicación: Santiago
Mensajes: 520
Antigüedad: 20 años, 4 meses
Puntos: 17
Respuesta: EXCEL y PHP

Cita:
Iniciado por dayanfer Ver Mensaje
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(1234,5,6), array(1,6,8,        ,,6)) );


echo 
$datos["m"] + $datos["b"];


?>

Creo que te puede ayudar.

Saludos.