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

打印 上一主题 下一主题

主题 808|帖子 808|积分 2424

今天在用 phpexcel 将数据xlxs数据导入到数据库发现不停报错
Array and string offset access syntax with curly braces is no longer supported

百度下发现PHP7.4后面版本,不再可以大概使用花括号来访问数组大概字符串的偏移,而我当前php版本是8.1 没办法根据他这个报错 一步一步找到对应的文件将{} 修改成[] 就可以了
下面列出此中两个地方。具体另有很多地方,需要自己一步一步修改:


末了附上我导入数据代码
  1. $file = File::where(['status' => 0])->first();
  2.         if (empty($file)) {
  3.             exit("没有信息采集!");
  4.         }
  5.         $file_path = storage_path('app/public/' . $file->path);;
  6.         $objPHPExcel = \PHPExcel_IOFactory::load($file_path);
  7.         $worksheet = $objPHPExcel->getActiveSheet();
  8.         $startRow = 2;  // 从第2行开始读取数据
  9.         $endRow = $worksheet->getHighestRow();
  10.         $endCol = $worksheet->getHighestColumn();
  11.         for ($row = $startRow; $row <= $endRow; $row++) {
  12.             $rowData = $worksheet->rangeToArray('A' . $row . ':' . $endCol . $row, NULL, TRUE, FALSE);
  13.             if (!empty(Redis::get($rowData[0][0] . '_' . $rowData[0][1]. '_' . $rowData[0][2]. '_' . $rowData[0][3]))) {
  14.                 continue;
  15.             }
  16.             $temp = [
  17.                 'title' => $rowData[0][0] ?? '',
  18.                 'role_name' => $rowData[0][1] ?? '',
  19.                 'content' => $rowData[0][2] ?? '',
  20.                 'mobile' => $rowData[0][3] ?? '',
  21.                 'province' => $rowData[0][4] ?? '',
  22.                 'city' => $rowData[0][5] ?? '',
  23.                 'created_at' => date('Y-m-d H:i:s'),
  24.                 'updated_at' => date('Y-m-d H:i:s'),
  25.             ];
  26.             Redis::set(Redis::get($rowData[0][0] . '_' . $rowData[0][1]. '_' . $rowData[0][2]. '_' . $rowData[0][3]), 1);
  27.             $inset_data[] = $temp;
  28.         }
  29.         if (!empty($inset_data)) {
  30.             Info::insert($inset_data);
  31.         }
  32.         $file->status = 1;
  33.         $file->save();
  34.         exit("导入完成!");
复制代码
我修改的包链接在此,compoer phpexecl包到本地之后,直接下载我的包覆盖即可,则不会报错Array and string offset access syntax with curly braces is no longer supported in ***
https://download.csdn.net/download/zhanglili1993/89105629
盼望能帮到你

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

宝塔山

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表