PHPでエクセルを読み込む問題について
PHPのエクセルクラスを使用してエクセルファイルを読み込んだ後、エクセルファイルの列が日付型の場合、日付の値が正常に表示されません。読み取っている列が日付型かどうかをPHPに自動的に判断させ、日付型の場合は変換関数を使って正常に表示できる値に変換するにはどうすればよいですか。
-----解決策---------
以前インターネットで見つけた関数を紹介します。
//Excelの日付変換関数
function ExcelTime($days, $time=false){
if(is_numeric($days)){
//1900-1-1 に基づく
$jd = GregorianToJD(1, 1, 1970);
$gregorian = JDToGregorian($jd+intval($days)-25569);
$myDate =explode('/',$gregorian);
$myDateStr = str_pad($myDate[2],4,'0', STR_PAD_LEFT)
."-".str_pad($myDate[0],2,'0', STR_PAD_LEFT)
."-".str_pad($myDate[1],2,'0', STR_PAD_LEFT)
.($time?" 00:00:00":'');
$myDateStr を返します。
elseif(strpos($days,'.')!==0) {
return str_replace('.','-',$days);
}
$days を返します。
<div class="clear"></div>
ログイン後にコピー