laravel excel 导入

本文介绍了一种使用PHP实现的批量导入考试题库的方法。该方法通过上传特定格式的Excel文件(xls或xlsx),并利用Excel操作库读取文件内容,最终将数据保存到系统中。文章展示了完整的代码示例,包括文件验证、临时存储路径创建、文件移动及数据读取等步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

<pre name="code" class="php"> /**
     * 导入
     * 保存
     * fyj
     */
    public function importexambank(Request $request)
    {

        // dd($examfilename);

        ini_set('memory_limit', '-1');
        set_time_limit(0);
//文件名称
        $file = $request->file('examfile');
        $allowed_extensions = ["xls", "xlsx"];
        $extension = $file->getClientOriginalExtension();

        if ($extension && !in_array($extension, $allowed_extensions)) {
            return ['error' => '仅支持格式xls, xlsx.'];
        }

        $dirfile = date('Ymd');

        if (!file_exists('images/uploads/' . $dirfile)) {
            if (!mkdir('images/uploads/' . $dirfile)) {
                return ['error' => '创建目录失败'];
            }
        }

        $destinationPath = "images/uploads/" . $dirfile;
        $filebasename = str_random(10) . mt_rand(10000, 99999);
        $originname = $filebasename . '.' . $extension;

        $file->move($destinationPath, $originname);

        Excel::load('images/uploads/' . $dirfile . '/' . $filebasename . '.' . $extension, function ($reader) {
            $examfile = $_FILES['examfile']['name'];

            $examfilearray = explode('.', $examfile);
            $examfilename = $examfilearray[0];

            // Getting all results
            $results = $reader->get()->toArray();

            foreach ($results[0] as $val) {

               //进行数据操作

            }

        });

        return redirect('/manage/exam');

    }



                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值