使用getNumberFormat类的对象时,phpSpreadsheet无法转换为字符串

时间:2018-11-29 14:36:32

标签: php phpspreadsheet

单元格C13的值是:01/02/2018,我需要在输出上得到相同的结果,但是:

如果使用$d_calib = $spreadsheet->setActiveSheetIndex(2)->getCell( 'C13' )->getValue();,则结果为:42010

如果回显$d_calib = $spreadsheet->setActiveSheetIndex(2)->getStyle( 'C13' )->getNumberFormat()->setFormatCode('d/m/Y');的结果是:Object of class could not be converted to string如果我对它执行print_r,则结果是内存不足。

是否有解决此问题的建议?

2 个答案:

答案 0 :(得分:0)

已使用:

    $value = $worksheet->getCell('C13')->getValue();
    $date2 = \PhpOffice\PhpSpreadsheet\Shared\Date::excelToDateTimeObject($value);
    echo $date2->format('d/m/Y');

答案 1 :(得分:0)

$spreadsheet->setActiveSheetIndex(2)->getStyle( 'C13' )->getNumberFormat()->setFormatCode('d/m/Y');

如果要在PHPSpreadsheet中设置日期格式代码,则需要设置 Excel 日期格式代码,而不是PHP日期格式代码