php遍历excel数据结构,PHPExcel遍历读取Excel文件内容示例

项目需要读取Excel的内容,从百度搜索了下,主要有两个选择,第一个是PHPExcelReader,另外一个是PHPExcel。

PHPExcelReader比较轻量级,仅支持Excel的读取,实际上就是一个Reader。但是可惜的是不能够支持Excel 2007的格式(.xlsx)。

PHPExcel比较强大,能够将内存中的数据输出成Excel文件,同时还能够对Excel做各种操作,下面主要介绍下如何使用PHPExcel进行Excel 2007格式(.xlsx)文件的读取。

下载PHPExcel后保存到自己的类文件目录中,然后使用以下代码可以打开Excel 2007(xlsx)格式的文件:

传统方法:

error_reporting(E_ALL);

date_default_timezone_set('Asia/ShangHai');

/** PHPExcel_IOFactory */

require_once '../Classes/PHPExcel/IOFactory.php';

// Check prerequisites

if (!file_exists("31excel5.xlsx")) {

exit("not found 31excel5.xlsx.\n");

}

$reader = PHPExcel_IOFactory::createReaderForFile('31excel5.xlsx'); // 自动匹配所上传的文件类型

$PHPExcel = $reader->load("31excel5.xlsx"); // 载入excel文件

$sheet = $PHPExcel->getSheet(0); // 读取第一个工作表

$highestRow = $sheet->getHighestRow(); // 取得总行数

$highestColumm = $sheet->getHighestColumn(); // 取得总列数

$colsNum= PHPExcel_Cell::columnIndexFromString($highestColumm); //字母列转换为数字列 如:AA变为27

/** 循环读取每个单元格的数据 */

for ($row = 1; $row <= $highestRow; $row++){//行数是以第1行开始

for ($column = 0; $column < $highestColumm; $column++) {//列数是以第0列开始

$columnName = PHPExcel_Cell::stringFromColumnIndex($column);

echo $columnName.$row.":".$sheet->getCellByColumnAndRow($column, $row)->getValue()."
";

}

}

?>

精简方法:

error_reporting(E_ALL);

date_default_timezone_set('Asia/ShangHai');

/** PHPExcel_IOFactory */

require_once '../Classes/PHPExcel/IOFactory.php';

// Check prerequisites

if (!file_exists("31excel5.xlsx")) {

exit("not found 31excel5.xlsx.\n");

}

$reader = PHPExcel_IOFactory::createReaderForFile('31excel5.xlsx'); // 自动匹配所上传的文件类型

$PHPExcel = $reader->load("31excel5.xlsx"); // 载入excel文件

$sheet = $PHPExcel->getSheet(0); // 读取第一个工作表

$highestRow = $sheet->getHighestRow(); // 取得总行数

$highestColumm = $sheet->getHighestColumn(); // 取得总列数

/** 循环读取每个单元格的数据 */

for ($row = 1; $row <= $highestRow; $row++){//行数是以第1行开始

for ($column = 'A'; $column <= $highestColumm; $column++) {//列数是以A列开始

$dataset[] = $sheet->getCell($column.$row)->getValue();

echo $column.$row.":".$sheet->getCell($column.$row)->getValue()."
";

}

}

?>

PHPExcel使用PHPExcel_IOFactory这个类来自动匹配所上传的文件类型,当然我们也可以自己制定要解析的文件类型。之后通过load方法,将PHP文件加载到objPHPExcel对象中。如果Excel文件有多个Sheet,可以通过$PHPExcel->setActiveSheetIndex(1);来设置当前活动的Sheet。

需要注意的是,对于Excel中的日期格式,PHPExcel读出来的是不是日期类型,需要我们使用以下方法来进行日期类型转换。

echo date("Y-m-d H:i:s",PHPExcel_Shared_Date::ExcelToPHP($date));

参考资料:

PHPExcel读取excel文件示例:http://extjs.org.cn/fatjames/archives/379

PHP读取Excel文件内容 :http://www.cnblogs.com/cocowool/p/4025852.html

扩展阅读:

PHPExcel官网:http://phpexcel.codeplex.com/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值