您的位置:首页 > 编程语言 > PHP开发

php-excel-reader-2.21 读取excel文件的基本用法

2014-12-28 23:30 741 查看
在某系统的开发过程中需要上传并读取excel文件,百度一下发现php-excel-reader这个工具比较好用,我下载到的版本是php-excel-reader-2.21,下面介绍一下我的基本用法。

解压php-excel-reader-2.21后可发现里面有三个文件:example.php,excel_reader2.php,example.xls。其中第二个php文件是该工具的核心代码,第一个php文件是一个例子,最后还有一个用于示例的excel文件。需要注意的是,该工具仅可处理excel2003格式,即扩展名为.xls的文件,我用office 2013创建的xlsx文件不能被读取。

example.php的核心内容如下:

<?php
error_reporting(E_ALL ^ E_NOTICE);
require_once 'excel_reader2.php'; //加载工具
$data = new Spreadsheet_Excel_Reader("example.xls"); //将指定excel文件交给工具进行解析,并把结果赋给$data变量
echo $data->dump(true,true);//输出结果,其中dump()函数的两个参数用于指定否需要显示excel文件中原有的行号和列号
 ?>


此代码的执行结果是将原来的excel文件原样输出了。那么假如我们需要逐行来获取应该怎样实现呢?我的代码如下:

<?php
	error_reporting(E_ALL ^ E_NOTICE);
	$filename=$_POST['filename']; //接收excel文件名
	require_once '../phpCode/excel_reader2.php'; //加载工具
	$data = new Spreadsheet_Excel_Reader('../upfiles/'.$filename); //调用工具,解析指定文件

	for ($i = 1; $i <= $data->sheets[0]['numRows']; $i++)  //遍历$data中的数据。注意如果不需要读首行字段名的话,下标要从1开始,而不是0
	{ 
			$temp[]=$data->sheets[0]['cells'][$i]; //将当前行数据赋给临时变量$temp
	}
	if(count($temp)==0) // 如果$temp为空,则说明没有读到数据,一般可认为是原来的excel文件为空
	{
		$arr=array(array('len'=>0)); //生成一个json格式的数据,意思是长度为空
		echo(json_encode($arr));
	}	
	else
		echo json_encode($temp);  //编码为json格式后打印
?>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: