• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

PHPExcel 导入Excel数据的方法

php 搞代码 3年前 (2022-01-22) 24次浏览 已收录 0个评论

这篇文章主要介绍了关于PHPExcel 导入Excel数据的方法,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下

一:使用composer下载 phpoffice/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();   <a style="color:transparent">、本文来源gao($daima.com搞@代@#码$网</a><big>搞gaodaima代码</big>                 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;    }

搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:PHPExcel 导入Excel数据的方法

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址