2017-02-04 141 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"?你需要将其转换为数字格式代码,就像[mm]:ss有任何意义的MS Excel的序列化时间戳....使用

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

PHPExcel documentationexamples

+0

单元格的值变为'FALSE描述' –

+0

和一些细胞价值保持原样。 –

+0

我的歉意,'PHPToExcel()'不适用于直线时间值,请参阅编辑 –