涉及知识点: php对excel文件进行循环读取 php对字符进行ascii编码转化,将字符转为十进制数 php对excel日期格式读取,并进行显示转化 php对汉字乱码进行编码转化 <div class="codetitle"><a style="CURSOR: pointer" data="35921" class="copybut" id="copybut35921" onclick="doCopy('code35921')"> 代码如下:<div class="codebody" id="code35921"> <?php require_once 'PHPExcel.php'; /对excel里的日期进行格式转化*/ function GetData($val){ $jd = GregorianToJD(1,1,1970); $gregorian = JDToGregorian($jd+intval($val)-25569); return $gregorian;/*显示格式为 “月/日/年” / } $filePath = 'test.xlsx'; $PHPExcel = new PHPExcel(); /默认用excel2007读取excel,若格式不对,则用之前的版本进行读取*/ $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文件中的第一个工作表*/ $currentSheet = $PHPExcel->getSheet(0); /*取得最大的列号/ $allColumn = $currentSheet->getHighestColumn(); /取得一共有多少行*/ $allRow = $currentSheet->getHighestRow(); /从第二行开始输出,因为excel表中第一行为列名*/ for($currentRow = 2;$currentRow <= $allRow;$currentRow++){ /*从第A列开始输出/ for($currentColumn= 'A';$currentColumn<= $allColumn; $currentColumn++){ $val = $currentSheet->getCellByColumnAndRow(ord($currentColumn) - 65,$currentRow)->getValue();/ord()将字符转为十进制数*/ if($currentColumn == 'A') { echo GetData($val)."t"; }else{ //echo $val; /*如果输出汉字有乱码,则需将输出内容用iconv函数进行编码转换,如下将gb2312编码转为utf-8编码输出/ echo iconv('utf-8','gb2312',$val)."t"; } } echo ""; } echo "n"; ?>
(编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|