加入收藏 | 设为首页 | 会员中心 | 我要投稿 大连站长网 (https://www.0411zz.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

利用phpexcel读取excel实现代码

发布时间:2022-02-18 14:53:59 所属栏目:PHP教程 来源:互联网
导读:phpexcel是一个php的插件,他是用来读取excel文档的,如果没有它的话自己要写个这样的工具比较麻烦,现在有了现成的excel读取插件方便了很多. php对excel文件进行循环读取,php对字符进行ascii编码转化,将字符转为十进制数,php对excel日期格式读取,并进行显示
  phpexcel是一个php的插件,他是用来读取excel文档的,如果没有它的话自己要写个这样的工具比较麻烦,现在有了现成的excel读取插件方便了很多.
 
  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')
          {//开源代码Cuoxin.com
              echo GetData($val)."t";
          }else{
              //echo $val;
              /**如果输出汉字有乱码,则需将输出内容用iconv函数进行编码转换,如下将gb2312编码转为utf-8编码输出*/
              echo iconv('utf-8','gb2312', $val)."t";
          }
      }
      echo "</br>";
  }
  echo "n";
  ?>

(编辑:大连站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!