2011-12-08 38 views
8

Tôi đang tải tệp Excel có các ô có dữ liệu thời gian, ví dụ: 08:00:00. Nhưng khi tôi cố gắng đọc những tế bào đó với getValue(), nó trả về một số số dấu phẩy động thay vì thời gian thực tế (trong trường hợp 08:00:00, nó trả về 0.3333333). Đây là mã của tôi:PHPExcel - đọc giá trị thời gian từ một ô

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

Làm cách nào để bỏ qua chuyển đổi kỳ lạ này?

PHPExcel 1.7.6 và Excel 2003 Bảng (.xls)

Trả lời

14

Bạn cần phải áp dụng định dạng tế bào cho việc này:

$cell = $objWorksheet->getCellByColumnAndRow(3, 5); 
$cell_value = PHPExcel_Style_NumberFormat::toFormattedString($cell->getCalculatedValue(), 'hh:mm:ss'); 
echo $cell_value; 
Các vấn đề liên quan