PhpSpreadsheet при использовании getNumberFormat Объект класса не может быть преобразован в строку - PullRequest
0 голосов
/ 29 ноября 2018

Значение ячейки C13: 01/02/2018, и мне нужно получить тот же результат на выходе, но:

При использовании $d_calib = $spreadsheet->setActiveSheetIndex(2)->getCell( 'C13' )->getValue(); результат будет: 42010

также, если echo $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 голосов
/ 09 декабря 2018

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

Если вы хотите установить код формата даты в таблице PHPS, вам нужно установить код формата даты Excel , а не код формата даты PHP

0 голосов
/ 29 ноября 2018

используется:

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