excel — PHP заставляет дату быть текстом в CSV

Я создаю экспорт CSV, и у меня есть строка даты, которая продолжает форматироваться при открытии в Excel или Numbers. Как я могу заставить данные быть текстовыми.

Остановить Excel от автоматического преобразования определенных текстовых значений в даты

Я не могу применить вышеупомянутое решение в PHP.

if(strlen($date) == 10){

// 12-24-1983
$date = explode('-',$date);
$m = $date[0];
$d = $date[1];
$Y = $date[2];

$date = $Y.'-'.$d.'-'.$m.' 00:00:00';
}
else {
// 2014-08-07 21:04:19
$date = explode(' ',$date);
$datePiece = $date[0];
$timePiece = $date[1];

$datePiece = explode('-',$datePiece);

$Y = $datePiece[0];
$m = $datePiece[1];
$d = $datePiece[2];

$date = $Y.'-'.$d.'-'.$m.' '.$timePiece;
}

return "$date";

1

Решение

Вы пытались поставить одну цитату перед значением даты? В Excel это будет рассматриваться как строковое значение (а не дата) для этой ячейки.

=================================================

Это проблема с электронными таблицами, а не проблема PHP-кодирования. Если вы хотите, чтобы электронная таблица отображала ее по-другому, попросите программу для работы с электронными таблицами просматривать / форматировать ее по-другому.

Правильные данные есть, проблема не в данных; это с программой просмотра данных. Итак, как уже упоминалось, вы можете кодировать некоторые другие значения форматирования в файл xls (xlsx) для практического применения для этой конкретной программы / формата электронной таблицы, но csv не позволяет вам выбирать форматирование.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]