getActiveSheet(); $sheetData = $worksheet->toArray(null, true, true, true); // 5. 现在 $sheetData 就是一个二维数组,你可以遍历它处理每一行数据 $orderMode = (new SaasOrder); $excelData= []; $expressData = []; foreach ($sheetData as $rowIndex => $row) { if ($rowIndex > 0 && !empty($row['A'])) { $excelData[$rowIndex] = $row; } } print_r($excelData); if (!empty($excelData)) { foreach (array_values(array_filter($excelData)) as $key=>$val) { $order = $orderMode->where("order_sn",trim($val['A']))->findOrEmpty(); if ($order->isEmpty()) { continue; } $order->express_status = 2; $order->save(); $express = (new SaasOrderExpress)->where("express_sn",trim($val['C']))->findOrEmpty(); if ($express->isEmpty()) { // 发送一条发货消息给用户 $lastMsg = (new SaasChatMsg)->where(['openid' => $order['openid'],'poi_id' => $order['poi_id']])->order("id desc")->findOrEmpty(); if ($lastMsg->isEmpty()) { $serviceUser = (new SystemUser)->where(['store_id' => $order['poi_id'],"type" => 3])->order("last_msg_at","asc")->findOrEmpty(); $lastServiceId = $serviceUser['id']; } else { $lastServiceId = $lastMsg['service_id']; } $expressName = ""; if (isset($val['D'])) { $expressName = "({$val['D']})"; } (new SaasChatMsg)->insertGetId([ 'openid' => $order['openid'], 'poi_id' => $order['poi_id'], "source" => 2, "service_id" => $lastServiceId, "msgId" => md5($order['openid'].time()), "content" => "您的订单({$val['A']})预计3日内到你手中,快递单号:{$val['C']} {$expressName}", "type" => "text" ]); $expressData[$key] = [ "order_sn" => trim($val['A']), "express_sn" => trim($val['C']), "mobile" => trim($val['B']), "express_name" => $val['D']?trim($val['D']):'', "last_at" => getDateFull() ]; } } } if (!empty($expressData)) { (new SaasOrderExpress)->insertAll(array_values($expressData)); } (new SystemImport)->where("id",$data['logId'])->update(['status' => 1,"last_at" => getDateFull()]); return true; } catch (\Throwable $throwable) { echo getDateFull()."==导入订单报错===\n"; echo $throwable->getFile()."\n"; echo $throwable->getLine()."\n"; echo $throwable->getMessage()."\n"; } return true; } }