解决使用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

希望能帮到你

相关推荐
木风小助理7 分钟前
B+树何以成为数据库索引的“天选之结构”?
数据库
7ioik9 分钟前
为什么lnnoDB存储引擎默认使用B+树作为索引结构?
数据库·b树·oracle
运维行者_2 小时前
OPM 与传统管理工具的区别,在网络修复与自动化运维方面的优势在哪里?
运维·服务器·开发语言·网络·自动化·php·ssl
斯普信专业组2 小时前
PostgreSQL高可用集群部署与配置指南
数据库·postgresql
利刃大大2 小时前
【MyBatis】MyBatis操作动态sql && MyBatisGenerator
数据库·sql·mybatis
一瓢西湖水3 小时前
loader命令导出大批量数据维护SQL
数据库·sql
颜颜yan_3 小时前
时序数据库选型指南:工业物联网时代如何选择数据底座
数据库·物联网·时序数据库
云和数据.ChenGuang4 小时前
Logstash配置文件的**语法解析错误**
运维·数据库·分布式·rabbitmq·jenkins
CICI131414134 小时前
焊接机器人负载能力选择标准
网络·数据库·人工智能
minhuan4 小时前
大模型应用:从交易行为到实时反欺诈:向量数据库驱动的智能风控实践.33
数据库·向量数据库·大模型应用·chromadb数据库