2011-07-06 4 views
3

セル書式の読み方を調べるのに問題があります。私は、セルのフォーマットが日付かどうかを知る必要があります。なぜなら、PHPに読み込むとExcelから5桁の数字になるからです。私はこの番号を取ってPHPの日付に変換するためにPHPExcelを使うことができますが、まず私が読んでいるセルが実際に日付セルであることを知る必要があります。PHPExcelがセルの書式を読み取る

getCellFormatなどのメソッドがあるかどうかは疑問です。助けのための

おかげ

ニック

答えて

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

いいえ、私はユーザーがExcelシートに表示される日付を取得するためにgetCalculatedValue()を使用できますか?だから5桁の数字の代わりに06/18/2011を取得する。その理由は、エクセル番号を日付に変換しようとすると、スプレッドシートに表示されている日付と異なる日付が表示されるためです。 – ninedoors

+0

私にこの例を教えてください...私は日付に関する問題を認識していません変換ルーチン。エラーがある場合は、例が必要です。 –

+2

getCalculatedValue()は数式に使用されますが、数値/日付の変換は書式設定です。セルのgetFormattedValue()メソッドを使用します。 –

1

あなたはおそらく、書式コードをお勧めします:

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

あなたはPHPExcel_Style_NumberFormat定数にこれを比較したり、あなた自身の正規表現のいくつかのことができます。

関連する問題