Foros del Web » Programando para Internet » PHP »

phpexcel formulas desaparecen al guardar

Estas en el tema de phpexcel formulas desaparecen al guardar en el foro de PHP en Foros del Web. Hola a todos. haber si pueden ayudarme. En la aplicación php que modifico el valor de unas celdas de excel5 en la hoja1 pasa los ...
  #1 (permalink)  
Antiguo 29/10/2012, 11:15
 
Fecha de Ingreso: septiembre-2010
Mensajes: 37
Antigüedad: 13 años, 7 meses
Puntos: 1
phpexcel formulas desaparecen al guardar

Hola a todos.
haber si pueden ayudarme.
En la aplicación php que modifico el valor de unas celdas de excel5 en la hoja1
pasa los datos a las hojas 2 y 3 y 4.y hace unos calculos diferentes en cada hoja guardo el archivo.
luego vuelvo a leer el fichero y recojo los datos de unas celda de la hoja2
pero veo que solo en la hoja 3 (hay 4) han desaparecido unas formulas que habian y ademas de una sola columna las demas de al lado o cualquier otro lugar de esta hoja esta todo bien. las demas hojas tambien estan con todas sus formulas y sus datos nuevos y calculados bien.
solo ha desaparecido de una sola hoja y una sola columna.
-Alguien ha trabajado con ficheros excel y le ha pasado algo asi.??
Pueden ayudarme??
gracias.
  #2 (permalink)  
Antiguo 30/10/2012, 14:47
Avatar de portalmana  
Fecha de Ingreso: septiembre-2007
Ubicación: Montevideo-Uruguay
Mensajes: 633
Antigüedad: 16 años, 6 meses
Puntos: 80
Respuesta: phpexcel formulas desaparecen al guardar

La formula que desaparece, le realizas algun escritura.
Es decir la seteas con valor o no.

Saludos

si tienes código Mejor, para ver que puede ser.
__________________
"La imaginación es más importante que el conocimiento. El conocimiento es limitado, mientras que la imaginación no" -- A.Einstein
objetivophp.com,twitter.com/objetivophp
  #3 (permalink)  
Antiguo 30/10/2012, 17:16
 
Fecha de Ingreso: septiembre-2010
Mensajes: 37
Antigüedad: 13 años, 7 meses
Puntos: 1
Respuesta: phpexcel formulas desaparecen al guardar

Hola de nuevo.
Crei que todo iria bien y ya ves.
mira este es el codigo que uso para guardar en la hoja los valores de las variables
...
// Camino a los include
set_include_path(get_include_path().PATH_SEPARATOR ."Classes/");
require_once "PHPExcel.php";
include "PHPExcel/IOFactory.php";
// Creamos un objeto PHPExcel
$objPHPExcel = new PHPExcel();
// Leemos un archivo Excel 2003 si es 2007 poner excel2007 y cambiar extension a xlsx
$objReader = PHPExcel_IOFactory::createReader("Excel5");
$objPHPExcel = $objReader->load("DATOS.xls");
// Indicamos que se pare en la hoja uno del libro
$objPHPExcel->setActiveSheetIndex(0);
//$objPHPExcel->setActiveSheetIndexByName('preus');
//Escribimos en la hoja en las celdas
$objPHPExcel->getActiveSheet()->SetCellValue('B3', "$tipo_material");
$objPHPExcel->getActiveSheet()->SetCellValue('B4', "$tipo_tolerancia");
$objPHPExcel->getActiveSheet()->SetCellValue('B5', "$tipo_falca");
$objPHPExcel->getActiveSheet()->SetCellValue('B6', "$cota_A");
$objPHPExcel->getActiveSheet()->SetCellValue('B7', "$cota_B");
$objPHPExcel->getActiveSheet()->SetCellValue('B8', "$cota_C");
$objPHPExcel->getActiveSheet()->SetCellValue('B9', "$cota_D");
$objPHPExcel->getActiveSheet()->SetCellValue('B10', "$cota_E");
$objPHPExcel->getActiveSheet()->SetCellValue('B11', "$longitud");
$objPHPExcel->getActiveSheet()->SetCellValue('B11', "$cantidad");
$objPHPExcel->getActiveSheet()->SetCellValue('B42', "$fecha");
$objPHPExcel->getActiveSheet()->SetCellValue('B43', "$tipo_transporte");

//Guardamos el archivo en formato Excel 2003
//Si queremos trabajar con Excel 2003, basta cambiar ‘Excel2007' y el nombre del archivo de salida cambiar su formato por ‘.xlsx’
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, "Excel5");
$objWriter->save("DATOS.xls");
header("location: VER_RESULTADOS.php");
exit();
?>

todo lo escribo en celdas en blanco y de todas las otras celdas que hay formulas, solo desaparecen unas en concreto aún bloqueando las celdas y la hoja desde excel.

el tipo de formula que desaparace es :
=SI($B$5=3;1;0)
y esta en la columna F y yo grabo en la columna B.
hay otras formulas en otra columna y no pasa nada. quedan bien y calculan.
tambien te digo que antes tenia los calculos en diferentes hojas y fallaba y ahora he montado una sola hoja y tambien falla.

gracias.
  #4 (permalink)  
Antiguo 30/10/2012, 19:50
Avatar de portalmana  
Fecha de Ingreso: septiembre-2007
Ubicación: Montevideo-Uruguay
Mensajes: 633
Antigüedad: 16 años, 6 meses
Puntos: 80
Respuesta: phpexcel formulas desaparecen al guardar

Hice pruebas con esos datos y tu formula en la columna F,
Pero nunca se borro la formula.

No tendrás algún bucle o algo que este pasandola por arriba.
Porque lo lógico seria que si borrara formulas se borren todas pero no selectivamente.


Saludos
__________________
"La imaginación es más importante que el conocimiento. El conocimiento es limitado, mientras que la imaginación no" -- A.Einstein
objetivophp.com,twitter.com/objetivophp
  #5 (permalink)  
Antiguo 31/10/2012, 05:23
 
Fecha de Ingreso: septiembre-2010
Mensajes: 37
Antigüedad: 13 años, 7 meses
Puntos: 1
Respuesta: phpexcel formulas desaparecen al guardar

Hola . no entiendo que quieres decir con un bucle que la este pasando por encima.
solo tengo esas instrucciones para guardar y basta.
He hecho una prueba de leer y sin escribir en nunguna celda guardar. Desaparecen las formulas igualmente.

mira en la columna B escribo el valor a calcular por ejemplo; 20
el la columna E3,e4,e5,e6,e7 respectivamente
=SI($B$5=1;1;0)
en la columna f3,f4,f5,f6,f7 tengo esta formula
=SI($B$3=1;2;SI($B$3=2;3,3;ERROR))*E3
en la columna G3,g4,g5,g6,g7
=((($B$6+4)*ENTERO(($B$8-0,001)+1)*$B$11)/1000000)*$B$12*F3*E3
y en la columna H3,h4,h5,h6,h7
=SI($B$3=1;6;SI($B$3=2;8,3;ERROR))*E3
pues bien desaparecen las de tipo columna f y h las otras permanecen.

es alucinante. que puede crear esto??
gracias.

si te envio por mail el fichero excel que trabajo y el fichero php que ejecuta??.
gracias

Última edición por ciurix; 31/10/2012 a las 08:07

Etiquetas: desaparecen, formulas, phpexcel
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 01:19.