PHP значение даты xlsx в CSV

У меня есть файл XLSX с некоторыми ячейками, который имеет значение даты, например: 13/04/2015, когда я конвертирую свой XLSX в CSV, значение даты в моем CSV становится его значением как: 42107

Мне нужно, чтобы значение было одинаковым в обоих файлах, как в XLSX (13/04/2015)

Вот мой скрипт конвертации

include ('./PHPExcel/Classes/PHPExcel.php');
$TypeFile="Excel2007";
$FilePath= "./assets/uploads/files/prf.xlsx";
$objReader = PHPExcel_IOFactory::createReader($TypeFile);
$objReader->setReadDataOnly(true);
$objExcel = $objReader->load($FilePath);
$objCSV = PHPExcel_IOFactory::createWriter($objExcel, 'CSV');
$objCSV->setPreCalculateFormulas(false);
$objCSV->setDelimiter(',');
$objCSV->setEnclosure('"');
$objCSV->save('./assets/uploads/files/prf.csv');

0

Решение

Да, это будет

Дата в MS Excel — это числовое значение, например 42107, которое представляет количество дней с 1 января 1900 года, и единственное, что сообщает MS Excel (или PHPExcel), что его следует рассматривать как дату, — это применяемая маска числового формата. в эту камеру.

Когда вы используете

$objReader->setReadDataOnly(true);

вы говорите PHPExcel читать значения необработанных данных из ячеек и игнорировать любые маски числового формата (или вообще любой стиль) для ячеек, так что это то, что вы получаете.

Если вы хотите, чтобы PHPExcel рассматривал значение как дату, не используйте $objReader->setReadDataOnly(true);

2

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

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

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