tp5 使用PHPExcel实现数据批量导入mysql数据库

PHPExcel插件下载地址:
链接:https://pan.baidu.com/s/1jB9KSta0Aq3IM04ZO69pDw
提取码:5oa2

前端使用layui框架
html

<button class="layui-btn" id="ceshi"><i class="layui-icon" >&#xe642;</i>导入</button>

<script>
	layui.use('upload', function(){
                var upload = layui.upload;
                //执行实例
                var uploadInst = upload.render({
                  elem: '#ceshi' //绑定元素
                  ,url: "{:url('addExcel')}" //上传接口
                  ,accept: 'file'
                  ,done: function(res){
                    //上传完毕回调
                    // layer.closeAll('loading');
                    console.log(res)
                  }
                  ,error: function(){
                    //请求异常回调
                  }
                });
              });
</script>

将phpexcel插件放入到/extend

php

namespace app\admin\controller;

import('PHPExcel/PHPExcel',EXTEND_PATH);

class User
{
public function addExcel(){
        $file = $_FILES['file']; //获取上传文件
        $extension = strtolower(pathinfo($file['name'],PATHINFO_EXTENSION));  //pathinfo()函数以数组的形式返回文件路径的信息
        if($extension == "xlsx"){
            //2007(相当于是打开接收的这个excel)
            $objReader = \PHPExcel_IOFactory::createReader('Excel2007');
        }else{
            return output_error(1, '不是期望的文件');
        }
        // return output_data($file);
        // die;
        $objContent = $objReader -> load($file['tmp_name']); //加载缓存文件
        $sheetContent = $objContent -> getSheet(0)  //获取活动的表格
                                    -> toArray();   //  转换成数组
        // $name = explode('.',pathinfo($file['name'],PATHINFO_BASENAME));
        // return output_data($sheetContent);
        // $name_table= $extension = strtolower($name[0]); //提取文件名
        // return output_data($file);
        //提取表字段,一维数组
        // $field_table = $sheetContent[0]; //0表示excel表格第0行,可用于提取表字段
        // return output_data($field_table);
        //提取数组,二维数组
        $data_table = [];
        // $i=1表示从excel第二行开始
        for($i=1, $n=count($sheetContent);$i<$n;$i++){
            $data_table[$i] = [
                'nickname' => $sheetContent[$i][0],
                'avatarurl' => $sheetContent[$i][1],
                'openid' => $sheetContent[$i][2],
                'session_key' => $sheetContent[$i][3],
                'grade' => $sheetContent[$i][4]
            ];
        }
        $sql = db('user')->insertAll($data_table);
        if($sql){
            return output_data([]);
        }else{
            return output_error(1, 'err');
        }

    }
}

上传的base_user.xlsx文件
在这里插入图片描述
参考:https://blog.csdn.net/doubi6/article/details/106188881

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
很好,我了解了你的问题。PHPExcel是一个强大的开源库,用于将Excel数据导入MySQL数据库中。您可以使用PHPExcel自动化Excel打开、读取和处理功能,然后将其转换为MySQL中的相关数据。以下是一些简单的步骤来实现这一点: 1. 下载和安装PHPExcel库。 2. 使用PHPExcel打开Excel文件并读取需要的列和行数据。 3. 通过MySQL连接,将数据插入到MySQL数据库中的表中。 以下是PHP代码示例: ``` // 导入PHPExcel库 require_once 'PHPExcel.php'; // 连接数据库 $servername = "localhost"; $username = "username"; $password = "password"; $dbname = "database"; $conn = new mysqli($servername, $username, $password, $dbname); // 检查连接是否成功 if ($conn->connect_error) { die("Connection failed: " . $conn->connect_error); } // 创建Excel对象并加载文件 $objReader = PHPExcel_IOFactory::createReader('Excel2007'); $objPHPExcel = $objReader->load("example.xlsx"); // 获取工作表 $worksheet = $objPHPExcel->getActiveSheet(); // 遍历所有行并将其插入到数据库中 foreach ($worksheet->getRowIterator() as $row) { $cellIterator = $row->getCellIterator(); $cellIterator->setIterateOnlyExistingCells(false); $data = array(); foreach ($cellIterator as $cell) { $data[] = $cell->getValue(); } $sql = "INSERT INTO example_table (column1, column2, column3) VALUES ('" . $data[0] . "', '" . $data[1] . "', '" . $data[2] . "')"; $result = $conn->query($sql); } $conn->close(); ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值