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

希望能帮到你

相关推荐
喜欢喝果茶.1 分钟前
SQL 预处理
数据库·sql
桌面运维家9 分钟前
Win10打印机共享故障排查:权限与网络配置详解
开发语言·网络·php
数据科学小丫1 小时前
Python 数据存储操作_数据存储、补充知识点:Python 与 MySQL交互
数据库·python·mysql
Knight_AL1 小时前
Nacos 启动问题 Failed to create database ’D:\nacos\nacos\data\derby-data’
开发语言·数据库·python
xht08322 小时前
PHP vs C语言:核心差异全解析
c语言·开发语言·php
xianjian09123 小时前
MySQL 的 INSERT(插入数据)详解
android·数据库·mysql
知识分享小能手3 小时前
MongoDB入门学习教程,从入门到精通,MongoDB入门指南 —— 知识点详解(2)
数据库·学习·mongodb
what_20183 小时前
PostgreSQL 索引
数据库·postgresql
wregjru3 小时前
【网络】8.五种 I/O 模型与多路转接详解
开发语言·php
麦聪聊数据3 小时前
跨云与多区服游戏架构下的数据库运维:基于webSQL的访问实践
数据库·sql·低代码·游戏·restful