phpExcel 读取数据,大数据文件处理方案
2016-09-24 13:27
656 查看
/** * 读取 Excel 文件 * @param string $filePath 要读取的路径 * @param integer $sheet 要读取的工作列表 * @return array * @author lianggc 2016-09-06 */ public function load($filePath='',$sheet=0){ $PHPReader=new PHPExcel_Reader_Excel2007; 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(); //**取得最大的列号*/ //lianggc 2016-10-08 修改 支持 Z以后的列数 $allColumn= PHPExcel_Cell::columnIndexFromString($allColumn);//**取得最大的列号*/ $allRow = $currentSheet->getHighestRow(); //**取得一共有多少行*/ $data = array(); for($rowIndex=1;$rowIndex<=$allRow;$rowIndex++){ //循环读取每个单元格的内容。注意行从1开始,列从A开始 for($column=0;$column<$allColumn;$column++){ //通过数字获取对应 列号 $colIndex = PHPExcel_Cell::stringFromColumnIndex($column); $addr = $colIndex.$rowIndex;//对应下标 $cell = $currentSheet->getCell($addr)->getValue();//获取对应值 if($cell instanceof PHPExcel_RichText){ //富文本转换字符串 $cell = $cell->__toString(); } $data[$rowIndex][$colIndex] = $cell; } } return $data; }
直接下载对应的phpExcel 的包就行了上点击跳转
下载完成 把那个Classes 这个文件夹里面的 文件跟文件夹拿出来就好了。
我这边的这个方法是直接写到PHPExcel 这个文件里面的。调用很简单。引入phpExcel 这个类传递对应的excel 文件的路径就好了
$obj = new PhpExcel; $excel_data=$obj->load($file_path);//读取数据
excel_data 这个变量里面保存的是 获取指定的 工作表数据。
如果调用Load没有第二个参数默认是获取第一个工作表
如果要读取大文件,这种方法我不推荐。如果说你要处理的excel超过2000行左右 你就会发现他调用Load方法的时候会很缓慢(我这边开启xdebug 发现读取200k的文件,debug log生成为 356mb 可怕)。phpexcel 如果要处理的文件大于1mb的情况下 进行读取操作比较浪费系统资源。
如果有可能先转换为csv文件。然后再进行读取操作。这么搞效率最少高了5倍以上
相关文章推荐
- phpExcel 读取数据,大数据文件处理方案
- Java读取、写入、处理Excel文件中的数据
- php excel 读取日期问题 在 php excel 读取 xls 格式的文件时,xls 上面显示的是正常的日期格式 但是读取出来的话,就会是一个万位整形数据,这显然不是我们想要的日
- 处理EXCEL驱动读取EXCEL文件中字段长度大于255字符时出现的数据截断
- Java读取、写入、处理Excel文件中的数据
- 如何处理Oledb中EXCEL驱动读取EXCEL文件中字段长度大于255字符时出现的"数据截断"问题.
- PHPExcel读取文件日期处理,含时分秒(Thinkphp)
- 如何处理ODBC中EXCEL驱动读取EXCEL文件中字段长度大于255字符时出现的"数据截断"问题.
- PHPExcel读取文件日期处理,含时分秒(tp)
- PHP Excel 读取xls,xlsx文件并出入数据然后保存
- Java读取、写入、处理Excel文件中的数据
- PHPExcel读取文件日期处理
- 使用OLEDB方式读取Excel文件到DataTable中数据类型的处理
- ADO 读取Excel文件数据, 丢失数据或数据错误问题。
- PHP 读取EXCEL文件出现:Detected illegal character in input string解决
- ASP.NET中上传并读取Excel文件数据
- EXCEL读取与写入数据的最佳方案[转]
- ASP.NET中上传并读取Excel文件数据
- ASP.NET中读取Excel文件数据
- ASP.NET中上传并读取Excel文件数据