PHPExcel读取excel文件
2015-08-26 15:28
555 查看
建议web只做上传功能,读取、处理还是放后台吧。PHPExcel还是比较耗费时间、内存的。
实例代码:
error_reporting(0);
require_once 'PHPExcel_1.8.0/Classes/PHPExcel.php'; //修改为自己的目录
echo '<p>TEST PHPExcel 1.8.0: read xlsx file</p>';
$filePath = "cdkey.xlsx";
//建立reader对象
$PHPReader = new PHPExcel_Reader_Excel2007();
if(!$PHPReader->canRead($filePath)){
$PHPReader = new PHPExcel_Reader_Excel5();
if(!$PHPReader->canRead($filePath)){
echo 'file is not excel';
return ;
}
}
//建立excel对象,此时你即可以通过excel对象读取文件,也可以通过它写入文件
$PHPExcel = $PHPReader->load($filePath);
/**读取excel文件中的第一个工作表*/
$currentSheet = $PHPExcel->getSheet(0);
/**取得最大的列号*/
$allColumn = $currentSheet->getHighestColumn();
/**取得一共有多少行*/
$allRow = $currentSheet->getHighestRow();
//循环读取每个单元格的内容。注意行从1开始,列从A开始
for($rowIndex=1;$rowIndex<=$allRow;$rowIndex++){
for($colIndex='A';$colIndex<=$allColumn;$colIndex++){
$addr = $colIndex.$rowIndex;
$cell = $currentSheet->getCell($addr)->getValue();
if($cell instanceof PHPExcel_RichText) //富文本转换字符串
$cell = $cell->__toString();
$arrExcel[$rowIndex][$colIndex]=$cell;
}
}
//print_r($arrExcel);exit;
PHPExcel_RichText Object(
[_richTextElements:private] => Array
(
[0] => PHPExcel_RichText_TextElement Object ([_text:private] => 测试)
[1] => PHPExcel_RichText_Run Object
(
[_font:private] => PHPExcel_Style_Font Object
(
[_name:private] => Calibri
[_size:private] => 11
[_bold:private] =>
[_italic:private] =>
[_superScript:private] =>
[_subScript:private] =>
[_underline:private] => none
[_strikethrough:private] =>
[_color:private] => PHPExcel_Style_Color Object
(
[_argb:private] => FF000000
[_isSupervisor:private] =>
[_parent:private] =>
[_parentPropertyName:private] =>
)
[_parentPropertyName:private] =>
[_isSupervisor:private] =>
[_parent:private] =>
[colorIndex] => 8
)
[_text:private] => 1
)
)
)
可以看到对这样的单元格不能直接读取单元格的文本内容。(注:这里的富文本是我自己的翻译,不知对否)。
另外,读取单元格的函数还有:
//列从0开始,行从1开始
$currentSheet ->getCellByColumnAndRow($colIndex,$rowIndex)->getValue();
实例代码:
error_reporting(0);
require_once 'PHPExcel_1.8.0/Classes/PHPExcel.php'; //修改为自己的目录
echo '<p>TEST PHPExcel 1.8.0: read xlsx file</p>';
$filePath = "cdkey.xlsx";
//建立reader对象
$PHPReader = new PHPExcel_Reader_Excel2007();
if(!$PHPReader->canRead($filePath)){
$PHPReader = new PHPExcel_Reader_Excel5();
if(!$PHPReader->canRead($filePath)){
echo 'file is not excel';
return ;
}
}
//建立excel对象,此时你即可以通过excel对象读取文件,也可以通过它写入文件
$PHPExcel = $PHPReader->load($filePath);
/**读取excel文件中的第一个工作表*/
$currentSheet = $PHPExcel->getSheet(0);
/**取得最大的列号*/
$allColumn = $currentSheet->getHighestColumn();
/**取得一共有多少行*/
$allRow = $currentSheet->getHighestRow();
//循环读取每个单元格的内容。注意行从1开始,列从A开始
for($rowIndex=1;$rowIndex<=$allRow;$rowIndex++){
for($colIndex='A';$colIndex<=$allColumn;$colIndex++){
$addr = $colIndex.$rowIndex;
$cell = $currentSheet->getCell($addr)->getValue();
if($cell instanceof PHPExcel_RichText) //富文本转换字符串
$cell = $cell->__toString();
$arrExcel[$rowIndex][$colIndex]=$cell;
}
}
//print_r($arrExcel);exit;
PHPExcel_RichText Object(
[_richTextElements:private] => Array
(
[0] => PHPExcel_RichText_TextElement Object ([_text:private] => 测试)
[1] => PHPExcel_RichText_Run Object
(
[_font:private] => PHPExcel_Style_Font Object
(
[_name:private] => Calibri
[_size:private] => 11
[_bold:private] =>
[_italic:private] =>
[_superScript:private] =>
[_subScript:private] =>
[_underline:private] => none
[_strikethrough:private] =>
[_color:private] => PHPExcel_Style_Color Object
(
[_argb:private] => FF000000
[_isSupervisor:private] =>
[_parent:private] =>
[_parentPropertyName:private] =>
)
[_parentPropertyName:private] =>
[_isSupervisor:private] =>
[_parent:private] =>
[colorIndex] => 8
)
[_text:private] => 1
)
)
)
可以看到对这样的单元格不能直接读取单元格的文本内容。(注:这里的富文本是我自己的翻译,不知对否)。
另外,读取单元格的函数还有:
//列从0开始,行从1开始
$currentSheet ->getCellByColumnAndRow($colIndex,$rowIndex)->getValue();
相关文章推荐
- 服务器安装php_cURL扩展
- PHPExcel生成图表
- 安装php时,make test报错
- 安装php时,make步骤报错make: *** [sapi/fpm/php-fpm] Error 1
- 安装php时,make步骤报错make: *** [ext/gd/gd.lo] Error 1
- 运行phpize时出现:Cannot find autoconf. Please check your autoconf installation
- 加速器eaccelerator不兼容高版本php
- PHP中$_SERVER的详细参数与说明
- PHP函数遍历一个文件夹下的所有文件和子文件夹
- Windows2008 R2配置FTP教程
- yii2 改变首页,变成登录页
- yii2 去掉index.php的方法
- PHP5新语法学习
- php文件上传功能
- PHP抓取远程图片到本地
- php 面向对象之反射
- 安卓之FTP一些实战经验(异常处理,原理等)
- PHP查询数据库中满足条件的记录条数(二种实现方法)
- PHP的内存释放问题
- PHP分页类代码