当前位置:首页 > PHP教程 > php高级应用 > 列表

利用phpexcel读取excel实现代码

发布:smiling 来源: PHP粉丝网  添加日期:2014-09-11 09:46:51 浏览: 评论:0 

phpexcel是一个php的插件,他是用来读取excel文档的,如果没有它的话自己要写个这样的工具比较麻烦,现在有了现成的excel读取插件方便了很多.

php对excel文件进行循环读取,php对字符进行ascii编码转化,将字符转为十进制数,php对excel日期格式读取,并进行显示转化.

php对汉字乱码进行编码转化,代码如下:

  1. <?php 
  2.  
  3. require_once 'PHPExcel.php'; 
  4.  
  5. /**对excel里的日期进行格式转化*/ 
  6. function GetData($val){ 
  7.     $jd = GregorianToJD(1, 1, 1970); 
  8.     $gregorian = JDToGregorian($jd+intval($val)-25569); 
  9.     return $gregorian;/**显示格式为  “月/日/年”  */ 
  10. } 
  11.  
  12. $filePath = 'test.xlsx'; 
  13.  
  14. $PHPExcel = new PHPExcel(); 
  15.  
  16. /**默认用excel2007读取excel,若格式不对,则用之前的版本进行读取*/ 
  17. $PHPReader = new PHPExcel_Reader_Excel2007(); 
  18. if(!$PHPReader->canRead($filePath)){ 
  19.     $PHPReader = new PHPExcel_Reader_Excel5(); 
  20.     if(!$PHPReader->canRead($filePath)){ 
  21.         echo 'no Excel'; 
  22.         return ; 
  23.     } 
  24. } 
  25.  
  26. $PHPExcel = $PHPReader->load($filePath); 
  27. /**读取excel文件中的第一个工作表*/ 
  28. $currentSheet = $PHPExcel->getSheet(0); 
  29. /**取得最大的列号*/ 
  30. $allColumn = $currentSheet->getHighestColumn(); 
  31. /**取得一共有多少行*/ 
  32. $allRow = $currentSheet->getHighestRow(); 
  33. /**从第二行开始输出,因为excel表中第一行为列名*/ 
  34. for($currentRow = 2;$currentRow <= $allRow;$currentRow++){ 
  35.     /**从第A列开始输出*/ 
  36.     for($currentColumn= 'A';$currentColumn<= $allColumn; $currentColumn++){ 
  37.         $val = $currentSheet->getCellByColumnAndRow(ord($currentColumn) - 65,$currentRow)->getValue();/**ord()将字符转为十进制数*/ 
  38.         if($currentColumn == 'A') 
  39.         {//开源代码phpfensi.com 
  40.             echo GetData($val)."t"; 
  41.         }else{ 
  42.             //echo $val; 
  43.             /**如果输出汉字有乱码,则需将输出内容用iconv函数进行编码转换,如下将gb2312编码转为utf-8编码输出*/ 
  44.             echo iconv('utf-8','gb2312', $val)."t"; 
  45.         } 
  46.     } 
  47.     echo "</br>"; 
  48. } 
  49. echo "n"; 
  50. ?>

Tags: phpexcel读取excel phpexcel代码

分享到: