当前位置: 代码迷 >> PHP >> phpexcel 读取xls资料
  详细解决方案

phpexcel 读取xls资料

热度:554   发布时间:2012-08-28 12:37:01.0
phpexcel 读取xls文件
读取xls文件的方法很多,我们掌握其中一种即可。我用的是phpexcel类,有一点我也纳闷,下载下来的文件相当大,即使按网友们说的只要[img][/img],也是很大的,足有18M,下面我们看下phpexcel是如何读取xls文件的。
Php代码 复制代码?收藏代码
  1. require?'excel/PHPExcel.php';?//加载文件 ??
  2. ??$filename="D:/wamp/www/test/sysoa.xls"; ??
  3. ?//读取2003以及之前版本的xls文件 ??
  4. $phpreader=new?PHPExcel_Reader_Excel5(); ??
  5. if($phpreader->canRead($filename)){ ??
  6. ??
  7. ????$excel=$phpreader->load($filename); ??
  8. ????//取得当前worksheet ??
  9. ?? ??
  10. ????$cursheet=$excel->getSheet(0); ??
  11. ????//取得共有多少列,若不使用此静态方法,获得的$col是文件列的最大的英文大写字母 ??
  12. ????$col=PHPExcel_Cell::columnIndexFromString($cursheet->getHighestColumn()); ??
  13. ???? ??
  14. ????//取得共有多少行 ??
  15. ????$row=$cursheet->getHighestRow(); ??
  16. ??
  17. ????//循环获取数据,xls文件是列在前行在后比如第一行第二列,实际上xls是以B2来表达的 ??
  18. ??
  19. ????for($currow=1;$currow<=$row;$currow++){ ??
  20. ??????for($curcol=1;$curcol<=$col;$curcol++){ ??
  21. ???????????$result=$cursheet->getCellByColumnAndRow($curcol,$currow)->getValue(); ??
  22. ???????????if($result){ ??
  23. ???????????echo?'第'.$currow.'行第'.$curcol.'列:'.$result.'&nbsp;&nbsp;'; ??
  24. ???????????} ??
  25. ??????} ??
  26. ??????echo?'</br>'; ??
  27. ????} ??
  28. ????? ??
  29. }??
 require 'excel/PHPExcel.php'; //加载文件
   $filename="D:/wamp/www/test/sysoa.xls";
  //读取2003以及之前版本的xls文件
 $phpreader=new PHPExcel_Reader_Excel5();
 if($phpreader->canRead($filename)){
 
     $excel=$phpreader->load($filename);
     //取得当前worksheet
   
     $cursheet=$excel->getSheet(0);
     //取得共有多少列,若不使用此静态方法,获得的$col是文件列的最大的英文大写字母
     $col=PHPExcel_Cell::columnIndexFromString($cursheet->getHighestColumn());
     
     //取得共有多少行
     $row=$cursheet->getHighestRow();

     //循环获取数据,xls文件是列在前行在后比如第一行第二列,实际上xls是以B2来表达的

     for($currow=1;$currow<=$row;$currow++){
       for($curcol=1;$curcol<=$col;$curcol++){
            $result=$cursheet->getCellByColumnAndRow($curcol,$currow)->getValue();
            if($result){
            echo '第'.$currow.'行第'.$curcol.'列:'.$result.'&nbsp;&nbsp;';
            }
       }
       echo '</br>';
     }
      
 }


? 不过还有一些问题没有解决,我在读取另外一个xls文件时, $row=$cursheet->getHighestRow();获得的值竟然是65522,实在让人纳闷,但换一个又好了
1 楼 pz9042 2012-06-06  
。。。这是我写的。。