解决使用php将excel数据导入数据库报错问题

今天在用 phpexcel 将数据xlxs数据导入到数据库发现一直报错

Array and string offset access syntax with curly braces is no longer supported

百度下发现PHP7.4后面版本,不再能够使用花括号来访问数组或者字符串的偏移,而我当前php版本是8.1 没办法根据他这个报错 一步一步找到对应的文件将{} 修改成[] 就可以了

下面列出其中两个地方。具体还有很多地方,需要自己一步一步修改:

最后附上我导入数据代码

复制代码
 $file = File::where(['status' => 0])->first();
        if (empty($file)) {
            exit("没有信息采集!");
        }
        $file_path = storage_path('app/public/' . $file->path);;

        $objPHPExcel = \PHPExcel_IOFactory::load($file_path);

        $worksheet = $objPHPExcel->getActiveSheet();

        $startRow = 2;  // 从第2行开始读取数据
        $endRow = $worksheet->getHighestRow();
        $endCol = $worksheet->getHighestColumn();

        for ($row = $startRow; $row <= $endRow; $row++) {
            $rowData = $worksheet->rangeToArray('A' . $row . ':' . $endCol . $row, NULL, TRUE, FALSE);
            if (!empty(Redis::get($rowData[0][0] . '_' . $rowData[0][1]. '_' . $rowData[0][2]. '_' . $rowData[0][3]))) {
                continue;
            }
            $temp = [
                'title' => $rowData[0][0] ?? '',
                'role_name' => $rowData[0][1] ?? '',
                'content' => $rowData[0][2] ?? '',
                'mobile' => $rowData[0][3] ?? '',
                'province' => $rowData[0][4] ?? '',
                'city' => $rowData[0][5] ?? '',
                'created_at' => date('Y-m-d H:i:s'),
                'updated_at' => date('Y-m-d H:i:s'),
            ];
            Redis::set(Redis::get($rowData[0][0] . '_' . $rowData[0][1]. '_' . $rowData[0][2]. '_' . $rowData[0][3]), 1);
            $inset_data[] = $temp;
        }
        if (!empty($inset_data)) {
            Info::insert($inset_data);
        }
        $file->status = 1;
        $file->save();
        exit("导入完成!");

我修改的包链接在此,compoer phpexecl包到本地之后,直接下载我的包覆盖即可,则不会报错Array and string offset access syntax with curly braces is no longer supported in ***

https://download.csdn.net/download/zhanglili1993/89105629

希望能帮到你

相关推荐
超级种码3 分钟前
Redis:Redis脚本
数据库·redis·缓存
想唱rap7 分钟前
表的约束条件
linux·数据库·mysql·ubuntu·bash
超级种码12 分钟前
Redis:Redis 命令详解
数据库·redis·bootstrap
qq_4017004133 分钟前
Qt 事件处理机制
java·数据库·qt
Elastic 中国社区官方博客43 分钟前
使用 jina-embeddings-v3 和 Elasticsearch 进行多语言搜索
大数据·数据库·人工智能·elasticsearch·搜索引擎·全文检索·jina
深海小黄鱼1 小时前
mysql 导入csv文件太慢, Error Code: 1290.
数据库·mysql
小宇的天下1 小时前
Calibre Connectivity Extraction(21-1)
数据库·oracle
rannn_1111 小时前
【Java项目】中北大学Java+数据库课设|校园食堂智能推荐与反馈系统
java·数据库·后端·课程设计·中北大学
DBA小马哥1 小时前
从Oracle到信创数据库:一场技术迁移的探索之旅
数据库·oracle
2501_944521001 小时前
rn_for_openharmony商城项目app实战-语言设置实现
javascript·数据库·react native·react.js·harmonyos