Foros del Web » Programando para Internet » PHP »

Modificar valor de celda con PHPExcel

Estas en el tema de Modificar valor de celda con PHPExcel en el foro de PHP en Foros del Web. Hola, Tan sólo necesito modificar el valor de una celda determinada de un documento Excel (formato XLS). He consultado la documentación oficial de la web ...
  #1 (permalink)  
Antiguo 03/05/2010, 12:19
Avatar de koaxial  
Fecha de Ingreso: agosto-2001
Mensajes: 119
Antigüedad: 22 años, 7 meses
Puntos: 0
Modificar valor de celda con PHPExcel

Hola,

Tan sólo necesito modificar el valor de una celda determinada de un documento Excel (formato XLS). He consultado la documentación oficial de la web de CodePlex y en la página 9 se hace referencia a lo que quiero hacer de la siguiente manera:

4.3.3. Setting a cell value by column and row
Setting a cell value by coordinate can be done using the worksheet’s setCellValueByColumnAndRow method.
// Set cell B8
$objPHPExcel->getActiveSheet()->setCellValueByColumnAndRow(1, 8, 'Some value');


La cuestión es que no menciona nada acerca de los pasos previos, es decir, cómo crear el objeto, cómo establecer cuál es el archivo Excel a modificar, etc...

He buscado por Google, en foros, pero en ningún sitio aparece clara y sencillamente cómo se hace.


Muchas gracias.
  #2 (permalink)  
Antiguo 03/05/2010, 13:09
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 10 meses
Puntos: 1517
Respuesta: Modificar valor de celda con PHPExcel

Porque los datos son específicos. Vas a tener que leer el manual para que lo puedas lograr.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #3 (permalink)  
Antiguo 04/05/2010, 03:04
Avatar de koaxial  
Fecha de Ingreso: agosto-2001
Mensajes: 119
Antigüedad: 22 años, 7 meses
Puntos: 0
Respuesta: Modificar valor de celda con PHPExcel

Probando y probando me he dado cuenta de que la librería PHPExcel permite leer un Excel, pero no modificar el propio fichero, habría que generar un archivo Excel nuevo.

La cuestión es la siguiente:

Tengo un Excel que según unos datos de entrada, por medio de unas largas y complejas fórmulas genera unos datos de salida.

Lo que yo necesito es mediante PHP modificar el valor de entrada en una celda determinada, para que las fórmulas se encarguen de realizar los cálculos correspondientes y una vez generado el dato de salida poder recogerlo.

Gracias de nuevo.
  #4 (permalink)  
Antiguo 06/05/2010, 01:41
Avatar de koaxial  
Fecha de Ingreso: agosto-2001
Mensajes: 119
Antigüedad: 22 años, 7 meses
Puntos: 0
Respuesta: Modificar valor de celda con PHPExcel

A ver, reformulo la pregunta:

Necesito simplemente modificar el valor de una celda determinada de un archivo Excel alojado en un servidor web con soporte PHP.
Necesito MODIFICARLO, porque dicho valor en la celda que quiero editar se procesa por medio de unas fórmulas y devuelve un resultado que después rescataría.

¿Cómo puedo hacer esto?

Muchas gracias.
  #5 (permalink)  
Antiguo 06/05/2010, 02:25
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 10 meses
Puntos: 1517
Respuesta: Modificar valor de celda con PHPExcel

Excel es un archivo binario y cerrado, es bien complicado el tratar lo que estás haciendo con PHP. Lo mejor entiendo es que leas el archivo lo traduzcas a HTML y luego haces las modificaciones con PHP. Luego vuelves a crear el archivo a Excel. El ir directamente y modificar no es posible ya que como te indique el valor está en binario y modificar este tipo de valor puede dañar el archivo.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #6 (permalink)  
Antiguo 06/05/2010, 02:46
Avatar de koaxial  
Fecha de Ingreso: agosto-2001
Mensajes: 119
Antigüedad: 22 años, 7 meses
Puntos: 0
Respuesta: Modificar valor de celda con PHPExcel

Mil gracias por la respuesta.

Estaba pensando en otra posibilidad que no sé si es viable:

· Con PHPExcel (u otra librería) recoger el contenido de la hoja completa (no sé si se puede hacer un get de una hoja (spreadsheet) completa).

·Volcar dicha información a un nuevo excel y en este proceso darle el valor a la celda, cuyo valor necesito modificar.

Estoy consultando la documentación de PHPExcel y encuentro métodos de acceso a celdas o un rango de filas. ¿Se podría recoger toda la hoja completa?


¡De nuevo gracias!
  #7 (permalink)  
Antiguo 21/08/2010, 14:42
Avatar de Stickmaster2004  
Fecha de Ingreso: septiembre-2004
Ubicación: Barranquilla
Mensajes: 568
Antigüedad: 19 años, 7 meses
Puntos: 0
Respuesta: Modificar valor de celda con PHPExcel

Cordial Saludo.

Tengo la misma duda, tengo un archivo de excel y una hoja especifica donde se generan unos boletines de estudiantes, si colocamos un numero por ejemplo 1 en una celda determinada saldra el boletin del estudiante que ocupo en primer puesto todo esto mediante formulas.

Ahora bien lo que necesito es poder ingresar digamos desde una caja de texto input text por ejemplo ese 1 y que este se coloque en esa celda determinada de esa hoja de excel y luego mostrar ese boletin para ese estudiante.

se puede hacer mediante PHPExcel o que otra solucion puede haber?

les estaria muy agradecido.
__________________
Solo el que se basa en conocimiento basico y cultiva el aprendizaje obtendra sabiduria
  #8 (permalink)  
Antiguo 21/08/2010, 15:39
Avatar de portalmana  
Fecha de Ingreso: septiembre-2007
Ubicación: Montevideo-Uruguay
Mensajes: 633
Antigüedad: 16 años, 6 meses
Puntos: 80
Respuesta: Modificar valor de celda con PHPExcel

Aquí tenes info que puede ser útil para lo que buscas...
http://fuubar.wordpress.com/2009/07/...xcels-con-php/

Saludos

Etiquetas: celda, modificar, 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 05:29.