2015-12-22 3 views

ответ

2
$objPHPExcel->getActiveSheet() 
    ->getStyle('A1'); 

Вернет объект Style для ячейки A1 в текущем активном листе. Вы можете посмотреть на свойства объекта стиля, чтобы идентифицировать элементы стиля, которые вы заинтересованы.

Если это специально формат номера, то

$objPHPExcel->getActiveSheet() 
    ->getStyle('A1') 
    ->getNumberFormat(); 

Вернется формат номер объекта маски , который имеет метод getFormatCode() вернуть маску формата в виде строки

EDIT

Если вы специально хотите проверить, если ячейка содержит формат даты мас k или нет, то есть специальная встроенная функция, специально написанная для этой цели:

if(PHPExcel_Shared_Date::isDateTime($objWorksheet->getCellByColumnAndRow($col, $row))) { 
    echo 'Cell contains a date or time'; 
} 
+0

Спасибо. да, проблема в том, что мне не удалось заранее узнать адрес ячейки. Я написал обертку, которая анализирует любой рабочий лист, но я обнаружил, что ячейки с форматами даты хранятся в целых числах в Excel, поэтому я хочу их обнаружить, чтобы я мог программно их фильтровать и получать их дату перед сохранением в БД. То, что я пробовал, было '$ objPHPExcel-> getActiveSheet() -> getStyle ($ objWorksheet-> getCellByColumnAndRow ($ col, $ row));' но, похоже, что-то не хватает, –

+0

О, мой! Это именно то, чего я хочу. Я проверю это сразу. Большое спасибо. –

+0

А, каждая ячейка рассматривается как «Генерал», я не знаю почему. –

Смежные вопросы