2011-12-08 33 views
8

Estoy cargando un archivo de Excel que tiene celdas con datos de tiempo, p. Ej. 08:00:00. Pero cuando trato de leer esas celdas con getValue(), devuelve algunos números de punto flotante en lugar de la hora real (en el caso de 08:00:00, devuelve 0.3333333). Aquí está mi código:PHPExcel - leer el valor del tiempo de una celda

$objPHPExcel = PHPExcel_IOFactory::load($filename); 
$objWorksheet = $objPHPExcel->getActiveSheet(); 
echo $objWorksheet->getCellByColumnAndRow(3, 5)->getValue(); 

¿Cómo eludir esta extraña conversión?

PHPExcel 1.7.6 y Excel 2003 Hoja de cálculo (.xls)

Respuesta

14

Es necesario aplicar formato de celda para esto:

$cell = $objWorksheet->getCellByColumnAndRow(3, 5); 
$cell_value = PHPExcel_Style_NumberFormat::toFormattedString($cell->getCalculatedValue(), 'hh:mm:ss'); 
echo $cell_value; 
Cuestiones relacionadas