PHPExcel读取Excel文件的实现代码

用PHPExcel读取Excel 2007 或者Excel2003文件

涉及知识点:

php对excel文件进行循环读取

php对字符进行ascii编码转化,将字符转为十进制数

php对excel日期格式读取,并进行显示转化

php对汉字乱码进行编码转化

<?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 "</br>"; 
  } 
  echo "\n"; 
?>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值