Foros del Web » Programando para Internet » PHP »

Uso de PHPExcel

Estas en el tema de Uso de PHPExcel en el foro de PHP en Foros del Web. Hola a todos. Tengo una duda que me está quitando mucho tiempo y no consigo resolver por más que me mire manuales. Estoy trabajando con ...
  #1 (permalink)  
Antiguo 25/07/2012, 18:32
 
Fecha de Ingreso: junio-2012
Mensajes: 46
Antigüedad: 12 años, 5 meses
Puntos: 0
Uso de PHPExcel

Hola a todos.

Tengo una duda que me está quitando mucho tiempo y no consigo resolver por más que me mire manuales.

Estoy trabajando con una hoja de cálculo muy simple, tiene una serie de títulos que son asignaturas (historia, matemáticas, etc), y una fila por cada alumno con las notas correspondientes a dichas materias.

Pretendo crear una tabla que me pase dichos valores para que, en función del alumno logueado me muestre exclusivamente sus notas.

Código PHP:
if (isset($_REQUEST['notas'])) {
        
// Cargando la hoja de cálculo
        
$objReader = new PHPExcel_Reader_Excel2007();
        
$objPHPExcel $objReader->load("notas.xlsx");
        
        
// Asignar hoja de calculo activa
        
$objPHPExcel->setActiveSheetIndex(0);
        
        
// Asignar datos
     
[B]   $prueba $objPHPExcel->getActiveSheet()->getCell("A2")->getValue();[/B
Y después "pretendo" que me saque el resultado de la celda A2 en la tabla:

Código HTML:
<table><tr><td>[B]<?php echo $prueba; ?>[/B]</td></tr></table> 
En principio parece fácil, no me sale mensaje de error, pero no sale dato alguno (he comprobado que sea ésa la celda correcta).

A ver si alguien pudiera echarme un cable.

Un saludo.
  #2 (permalink)  
Antiguo 26/07/2012, 03:57
 
Fecha de Ingreso: junio-2012
Mensajes: 46
Antigüedad: 12 años, 5 meses
Puntos: 0
Respuesta: Uso de PHPExcel

¿Alguien puede guiarme por favor?
  #3 (permalink)  
Antiguo 26/07/2012, 06:40
 
Fecha de Ingreso: julio-2012
Ubicación: Girona
Mensajes: 63
Antigüedad: 12 años, 5 meses
Puntos: 10
Respuesta: Uso de PHPExcel

yo cuando tengo que utilizar esa clase lo hago del siguiente modo:

Código PHP:
Ver original
  1. $objReader = PHPExcel_IOFactory::createReader('Excel5');
  2. $objPHPExcel = $objReader->load("nombre del fichero");
  3. $data = $objPHPExcel->getActiveSheet();
  4. //Pero eso si, debes conocer la posición de la celda
  5. $dato=$data->getCellByColumnAndRow(0, 1)->getValue();

Saludos
  #4 (permalink)  
Antiguo 26/07/2012, 08:47
 
Fecha de Ingreso: enero-2011
Ubicación: DF
Mensajes: 898
Antigüedad: 13 años, 10 meses
Puntos: 155
Respuesta: Uso de PHPExcel

checa la sección 4.5.2 del archivo PHPExcell developer documentation.doc

http://phpexcel.codeplex.com/releases/view/88098

Código PHP:
Ver original
  1. require_once '../PHPExcel-1.7.7/Classes/PHPExcel/IOFactory.php';
  2. ini_set('memory_limit','64M');
  3. $objReader = PHPExcel_IOFactory::createReader('Excel2007');
  4.  
  5. $nombre_archivo="tuarchivo.xlsx";
  6. $objPHPExcel = $objReader->load($nombre_archivo);
  7. echo $objPHPExcel->getActiveSheet()->getCell('B8')->getValue();
__________________
No me interesan ni las gracias ni los karmas , pero si que se genere conocimiento, si se dio con la respuesta por favor confirmalo

Última edición por mogurbon; 26/07/2012 a las 08:54
  #5 (permalink)  
Antiguo 26/07/2012, 10:40
 
Fecha de Ingreso: junio-2012
Mensajes: 46
Antigüedad: 12 años, 5 meses
Puntos: 0
Respuesta: Uso de PHPExcel

Muchas gracias a los dos.

He conseguido sacar el resultado gracias al código de mogurbon, con alguna pequeña modificación pero ésa era la forma correcta.

Conseguí información usando :

Cita:
require_once('PHPExcel.php');
require_once('PHPExcel/Reader/Excel2007.php');
De gente que lo había hecho así, sin embargo como me habéis dicho utilizando PHPExcel/IOFactory.php a mí si me ha salido lo que pretendía.

A modo de información, probé usando:

Cita:
$objReader = PHPExcel_IOFactory::createReader('Excel5');
Sin embargo me daba un mensaje de The filename notas.xlsx is not recognised as an OLE file. ¿Ésto a que es debido? Es la misma clase actualizada o algo así? Sólo por curiosidad.

Como he dicho anteriormente, gracias a los dos, habéis sido muy amables.

Un saludo
  #6 (permalink)  
Antiguo 26/07/2012, 11:49
 
Fecha de Ingreso: enero-2011
Ubicación: DF
Mensajes: 898
Antigüedad: 13 años, 10 meses
Puntos: 155
Respuesta: Uso de PHPExcel

http://phpexcel.codeplex.com/discuss...tName=phpexcel


me suena raro

el archivo que intentas leer es un xlsx

y es con este codigo

Código PHP:
Ver original
  1. $objReader = PHPExcel_IOFactory::createReader('Excel2007');

lee la seccion 6.3 de la documentacion
__________________
No me interesan ni las gracias ni los karmas , pero si que se genere conocimiento, si se dio con la respuesta por favor confirmalo
  #7 (permalink)  
Antiguo 26/07/2012, 12:04
 
Fecha de Ingreso: junio-2012
Mensajes: 46
Antigüedad: 12 años, 5 meses
Puntos: 0
Respuesta: Uso de PHPExcel

Ahh, vale vale.

Excel5 es para archivos .xls y Excel2007 para .xlsx.

Igual no me entendiste bien en el anterior comentario. Quería decir que conseguí hacerlo como tu me habías dicho, pero Sgomez me había puesto un ejemplo que él utilizaba con Excel5 (claro que lo utilizará para .xls y no .xlsx como es mi caso. Perdona el malentendido.

Si me gustaría saber una cosilla, ni tan siquiera decirme como es sino como buscar dicha información en la documentación ya que no soy muy ducho con el inglés.

Una de las celdas de mi hoja de cálculo tiene una fórmula muy sencillita, recoge la nota media de las notas de un alumno. Cuando lo visualizo en mi tabla no me sale la media sino que me sale la fórmula que utilizo en Excel. Probé con lo siguiente (lo quiero con dos decimales):

Cita:
<?php echo number_format($nota_media,2) ?>
Pero lo que obtengo es 0.00. ¿Podrías decirme como tendría que buscarlo en la documentación?

Muchas gracias por tus molestias, te lo agradezco.
  #8 (permalink)  
Antiguo 26/07/2012, 12:34
 
Fecha de Ingreso: enero-2011
Ubicación: DF
Mensajes: 898
Antigüedad: 13 años, 10 meses
Puntos: 155
Respuesta: Uso de PHPExcel

no te entendi de donde sale $nota_media ? deverias abrir otro hilo con esa duda
__________________
No me interesan ni las gracias ni los karmas , pero si que se genere conocimiento, si se dio con la respuesta por favor confirmalo
  #9 (permalink)  
Antiguo 26/07/2012, 13:40
 
Fecha de Ingreso: junio-2012
Mensajes: 46
Antigüedad: 12 años, 5 meses
Puntos: 0
Respuesta: Uso de PHPExcel

Ok. Ya he abierto un nuevo hilo con la duda. Espero haberme explicado mejor.

Etiquetas: phpexcel, tabla
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 22:30.