首页 > 编程 > PHP > 正文

PHPExcel 导入Excel数据的方法

2020-03-22 16:22:46
字体:
来源:转载
供稿:网友
这篇文章主要介绍了关于PHPExcel 导入Excel数据的方法,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下

一:使用composer下载 phphtml' target='_blank'>office/phpexcel 或者直接下载安装包

composer require phpoffice/phpexcel

1:导入数据

原理:读取文件,获取文件的最大行,最大列。然后组装数据,导入数据库

注意:如果你的Excel文件是加密的话是读取不了的,我真的在这上面浪费了很多时间,如果有谁知道如何解决,麻烦告知一二谢谢。

我们来看看如何具体实现

实现方法

 public static function importExcel($file = , $sheet = 0) $file = iconv( utf-8 , gb2312 , $file); //转码 if (empty($file) OR !file_exists($file)) {  die( file not exists!  $objRead = new PHPExcel_Reader_Excel2007(); //建立reader对象 if (!$objRead- canRead($file)) {  $objRead = new PHPExcel_Reader_Excel5();  if (!$objRead- canRead($file)) {  die( No Excel!  $cellName = [ A , B , C , D , E , F , G , H , I , J , K , L , M , N , O , P , Q , R , S , T , U , V , W , X , Y , Z , AA , AB , AC , AD , AE , AF , AG , AH , AI , AJ , AK , AL , AM , AN , AO , AP , AQ , AR , AS , AT , AU , AV , AW , AX , AY , AZ $obj = $objRead- load($file); //建立excel对象 $currSheet = $obj- getSheet($sheet); //获取指定的sheet表 $columnH = $currSheet- getHighestColumn(); //取得最大的列号 $columnCnt = array_search($columnH, $cellName);  $rowCnt = $currSheet- getHighestRow(); //获取总行数 $data = [];  for ($_row = 1; $_row = $rowCnt; $_row++) { //读取内容 for ($_column = 0; $_column = $columnCnt; $_column++) {  $cellId = $cellName[$_column] . $_row;  $cellValue = $currSheet- getCell($cellId)- getValue();  $data[$_row][$_column] = $cellValue; } $return_data = [];  foreach ($data as $k = $v) {  if ($k 1) {  $test = array_combine($data[1], $data[$k]);  array_push($return_data, $test); return $return_data; }

//精简版

 public static function importExcel($file = , $sheet = 0) { $file = iconv( utf-8 , gb2312 , $file); //转码 if (empty($file) OR !file_exists($file)) {  die( file not exists!  } $objRead = new PHPExcel_Reader_Excel2007(); //建立reader对象 if (!$objRead- canRead($file)) {  $objRead = new PHPExcel_Reader_Excel5();  if (!$objRead- canRead($file)) {  die( No Excel!  $obj = $objRead- load($file); //建立excel对象 $data =$obj- getSheet($sheet)- toArray();//获取为数组 $return_data = [];  foreach ($data as $k = $v) {  if ($k 0) {  $test = array_combine($data[0], $data[$k]);  array_push($return_data, $test); return $return_data; }

注意如果文件过大,PHP读取会过长,我们可以设置。

 set_time_limit(0);//0代表永久

以上就是本文的全部内容,希望对大家的学习有所帮助,更多相关内容请关注PHP !

相关推荐:

PHP Excel导入数据到MySQL数据库的方法

php 批量去除项目文件bom头的方法

以上就是PHPExcel 导入Excel数据的方法的详细内容,PHP教程

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表