2011-12-08 13 views
8

Załaduję plik programu Excel zawierający komórki z danymi o czasie, np. 08:00:00. Ale kiedy próbuję odczytać te komórki za pomocą getValue(), zwraca kilka liczb zmiennoprzecinkowych zamiast rzeczywistego czasu (w przypadku 08:00:00 zwraca 0.3333333). Oto mój kod:PHPExcel - wartość czasu odczytu z komórki

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

Jak mogę ominąć tę dziwną konwersję?

PHPExcel 1.7.6 i Excel 2003 Arkusz (xls)

Odpowiedz

14

Trzeba zastosować format komórki na to:

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