2011-07-06 5 views
3

셀 포맷을 읽는 방법을 찾는 데 어려움이 있습니다. 나는 세포의 형식이 날짜인지 아닌지를 알아야한다. 왜냐하면 내가 PHP로 읽었을 때 엑셀로부터 5 자리 숫자가되기 때문이다. 이 숫자를 가져 와서 PHP 날짜를 PHP로 변환하기 위해 PHPExcel을 사용할 수는 있지만 먼저 읽는 셀은 실제로 날짜 셀이라는 것을 알아야합니다.PHPExcel에서 셀 포맷 읽기

getCellFormat 또는 내가 사용할 수있는 것과 같은 메소드가 있는지 궁금합니다.

답변

1
if (PHPExcel_Shared_Date::isDateTime($objPHPExcel->getActiveSheet()->getCell('A1'))) 
    echo 'Cell Contains a Date'; 
+0

그래, 내가 getCalculatedValue()를 사용하여 사용자가 엑셀 시트에서 보는 날짜를 얻을 수 있습니까? 따라서 5 자리 숫자 대신 06/18/2011을 얻으십시오. 그 이유는 Excel에서 엑셀 번호를 날짜로 변환하면 스프레드 시트에 표시된 날짜와 다른 날짜가되기 때문입니다. – ninedoors

+0

제게이 예를 들려주세요 ... 날짜와 관련된 문제를 전혀 알지 못했습니다. 변환 루틴. 오류가 있으면 예제가 필요합니다. –

+2

getCalculatedValue()는 수식에 사용되지만 숫자/날짜 변환은 서식 지정됩니다. 셀의 getFormattedValue() 메소드를 사용하십시오. –

1

당신은 아마도 형식 코드를 할 것입니다 도움을

감사 :

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

당신은 PHPExcel_Style_NumberFormat 상수이를 비교하거나 자신의 정규 표현식에 몇 가지 있습니다.