注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

天朝布衣田中码农参上

苦逼码农的点点滴滴,请多多指教!

 
 
 

日志

 
 
 
 

PHP利用PHPExcel读取Excel文件到数组  

2017-09-25 11:33:50|  分类: PHP |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
众所周知,PHPExcel功能很强大,但很多情况下,您可能用不到那些额外功能。有些项目可能有需求,导出Excel文件,参考之前的《php导出数据csv格式再用Excel打开超大数字变科学计数法显示且低位变0的解决方法》可以轻易解决。但如果有需要导入Excel文件,还是得利用PHPExcel。PHPExcel官网地址:http://phpexcel.codeplex.com/,将之下载后解压放入合适目录,然后使用如下的函数就可以轻易将之转换成数组。

<?php

require('include/PHPExcel.php');
function excel2arr($filePath='',$sheet=0){
if(empty($filePath) or !file_exists($filePath)){return null;}
$PHPReader = new PHPExcel_Reader_Excel2007(); //建立reader对象
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($sheet); //**读取excel文件中的指定工作表*/
$allColumn = $currentSheet->getHighestColumn(); //**取得最大的列号*/
$allRow = $currentSheet->getHighestRow(); //**取得一共有多少行*/
$data = array();
for($rowIndex=1;$rowIndex<=$allRow;$rowIndex++){ //循环读取每个单元格的内容。注意行从1开始,列从A开始
for($colIndex='A';$colIndex<=$allColumn;$colIndex++){
$addr = $colIndex.$rowIndex;
$cell = $currentSheet->getCell($addr)->getValue();
if($cell instanceof PHPExcel_RichText){ //富文本转换字符串
$cell = $cell->__toString();
}
$data[$rowIndex][$colIndex] = $cell;
}
}
return $data;
}

?>

使用方法也是很简单:

//当前目录下有593668.com.xls文件,且只需读入第一个sheet
$data=excel2arr("593668.com.xls");
//当前目录下有593668.com.xls文件,且只需读入第二个sheet
$data=excel2arr("593668.com.xls",1);

该函数参数中,第一个参数是文件路径,第二个是指定要读取的sheet。返回数组参数有可能为null,也有可能是空数组,需要大家自行判断下。
  评论这张
 
阅读(0)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017