|
php對(duì)excel文件進(jìn)行循環(huán)讀取
php對(duì)字符進(jìn)行ascii編碼轉(zhuǎn)化,將字符轉(zhuǎn)為十進(jìn)制數(shù)
php對(duì)excel日期格式讀取,并進(jìn)行顯示轉(zhuǎn)化
php對(duì)漢字亂碼進(jìn)行編碼轉(zhuǎn)化
復(fù)制代碼 代碼如下:
<?php
require_once 'phpExcel.php';
/**對(duì)excel里的日期進(jìn)行格式轉(zhuǎn)化*/
function GetData($val){
$jd = GregorianToJD(1, 1, 1970);
$gregorian = JDToGregorian($jd+intval($val)-25569);
return $gregorian;/**顯示格式為 “月/日/年” */
}
$filePath = 'test.xlsx';
$phpExcel = new phpExcel();
/**默認(rèn)用excel2007讀取excel,若格式不對(duì),則用之前的版本進(jìn)行讀取*/
$phpReader = new phpExcel_Reader_Excel2007();
if(!$phpReader->canRead($filePath)){
$phpReader = new phpExcel_Reader_Excel5();
if(!$phpReader->canRead($filePath)){
echo 'no Excel';
return ;
}
}
$phpExcel = $phpReader->load($filePath);
/**讀取excel文件中的第一個(gè)工作表*/
$currentSheet = $phpExcel->getSheet(0);
/**取得最大的列號(hào)*/
$allColumn = $currentSheet->getHighestColumn();
/**取得一共有多少行*/
$allRow = $currentSheet->getHighestRow();
/**從第二行開始輸出,因?yàn)閑xcel表中第一行為列名*/
for($currentRow = 2;$currentRow <= $allRow;$currentRow++){
/**從第A列開始輸出*/
for($currentColumn= 'A';$currentColumn<= $allColumn; $currentColumn++){
$val = $currentSheet->getCellByColumnAndRow(ord($currentColumn) - 65,$currentRow)->getValue();/**ord()將字符轉(zhuǎn)為十進(jìn)制數(shù)*/
if($currentColumn == 'A')
{
echo GetData($val)."/t";
}else{
//echo $val;
/**如果輸出漢字有亂碼,則需將輸出內(nèi)容用iconv函數(shù)進(jìn)行編碼轉(zhuǎn)換,如下將gb2312編碼轉(zhuǎn)為utf-8編碼輸出*/
echo iconv('utf-8','gb2312', $val)."/t";
}
}
echo "</br>";
}
echo "/n";
?>
php技術(shù):PHPExcel讀取Excel文件的實(shí)現(xiàn)代碼,轉(zhuǎn)載需保留來(lái)源!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。