День добрый.
ПарсЮ .xls, на выходе получаю нормальный человеческий массив, но не в этом дело
Один из столбцов в .xls предназначен для даты, дата прописывается в формате:
12.01.2018
20.10.2017 и т.п.
После отработки phpexcel, ко дню этой даты добавляется +1, т.е. 12 число превращается в 13, 20 в 21
Если в экселе поменять точки на тире, слэш и т.д. как разделитель дней, месяц, годов , то парсится нормально, а вот с точками вот такая вот мистика.
Как с этим справится?
Код парсинга, на всякий случай, хотя и не должен понадобиться
кодfunction exceltohtml($file = NULL) {
$data = new Spreadsheet_Excel_Reader();
$data->setOutputEncoding('utf-8');
$data->setUTFEncoder('mb');
if (!file_exists($_SERVER['DOCUMENT_ROOT'] . $file)) {
echo 'Необходимо залить файл настроек';
die();
}
// 2. Проверка эксель пустой/не пустой
$data->read($_SERVER['DOCUMENT_ROOT'] . $file);
if (empty($data->sheets[0]['cells']) || !count($data->sheets[0]['cells'])) {
echo 'Эксель файл некорректный или пустой';
die();
} else {
$rows = $data->sheets[0]['cells'];
return $rows;
}
}