Модераторы: Aliance, skyboy, MoLeX, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> phpexcel - как получить дату 
:(
    Опции темы
sagow
Дата 16.3.2011, 16:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 3.11.2009

Репутация: нет
Всего: нет



Здравствуйте.

Вопрос для тех кто юзал библиотеку PHPExcel

Столкнулся с проблемой при распарсивании файла xls.

Есть ячейка у которой формат, если открыть в excel обозначен как "все форматы" и содержит дату типа 17.11.2010  19:22:08

При получении ячейки с помощью библиотеки PHPExcel - каждая ячейка принимает тип string по умолчанию и соответственно дата меняет своё значение на 40499,807037037.

Изменения преобразования в другой тип ничему не привели, вернее тип меняется а значение остаётся прежним

Вот собственно и код
Код


require_once ...'/PHPExcel.php';
require_once ...'/IOFactory.php';
require_once ...'/Reader/Excel5.php';

$objReader = new PHPExcel_Reader_Excel5();
$this->excel = $objReader->load($this->filename);

$sheet = & $this->excel->getActiveSheet();

/* 
пробывал перед получением менять формат данных формат меняет а данные нет 
$sheet->getCellByColumnAndRow(2, 2)->setDataType(PHPExcel_Cell_DataType::TYPE_INLINE);
*/
$Data = $sheet->getCellByColumnAndRow(2, 2);     
$x = $Data->getValue();                                         

$datatype = $Data->getDataType();

echo $x.' - '.$datatype;                         // 40499,807037037 - s


Может кто сталкивался с этой проблемой, объясните пожалуйста, что я не так делаю или что надо сделать чтобы получить на выходе "17.11.2010  19:22:08"?
PM MAIL   Вверх
AImIk
Дата 18.11.2016, 15:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 18.11.2016

Репутация: нет
Всего: нет



Решить данную проблему можно следующим образом (в вашем случае): 
$Data = $sheet->getCellByColumnAndRow(2, 2);     
$x = $Data->getValue();  
$get_date = date('Y-m-d H:i:s', PHPExcel_Shared_Date::ExcelToPHP($x));

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Libraries | Следующая тема »


 




[ Время генерации скрипта: 0.1161 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.