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

Tags: phpexcel读取excel phpexcel代码

分享到: