2017-02-04 3 views
0

У меня есть PHP-код, который будет экспортировать массив данных в excel. Он работает нормально, но форматирование не работает на выходе. Например, у меня есть значение массива 0:13:00 (оно находится в 24-часовом формате). Я хочу, чтобы форматировать его в excel до [mm]:ss, поэтому выход должен быть 13:00 после экспорта, но значение остается таким, какое есть, когда я смотрю на форматирование ячейки в excel, формат уже находится в [mm]:ss. Я также попытался изменить значение на 12-часовой формат (12:13:00 AM), но он также остается таким же, как и после экспорта. Может кто-нибудь мне помочь с этим, пожалуйста.
Вот мой код в форматировании ячейки с помощью PHPExcel.Формирование ячейки PHPExcel не работает после экспорта

$sheet = $objPHPExcel->getActiveSheet(); 
$sheet->getStyle('C3:N199')->getNumberFormat()->setFormatCode('[mm]:ss'); 

ответ

1

Вы имеете в виду, что у вас есть строка, содержащая "0:13:00"? Вы должны преобразовать его в Сериализированная метку времени MS Excel для кода формат номера, как [mm]:ss иметь никакого смысла .... использовать

$objPHPExcel->getActiveSheet() 
    ->setCellValue('A1', 
     PHPExcel_Calculation_DateTime::TIMEVALUE('00:13:15') 
    ); 
$objPHPExcel->getActiveSheet() 
    ->getStyle('A1') 
    ->getNumberFormat() 
    ->setFormatCode('[mm]:ss'); 

, как описано в PHPExcel documentation и examples

+0

значение ячейки становится 'FALSE ' –

+0

, и некоторое значение ячейки остается таким, каким оно есть. –

+0

Мои извинения, 'PHPToExcel()' не работает с прямым значением времени, см. Править –

Смежные вопросы