load($inputFileName); $sheet = $spreadsheet->getActiveSheet(); $sheet->getPageSetup()->setOrientation(PageSetup::ORIENTATION_LANDSCAPE); $i = 3; $first = true; $from = '-'; $prevInstDate = ''; $j = 1; foreach ($orders as $order) { $instDate = ($order->installation_date) ? DateHelper::getHumanDate($order->installation_date, true) : ''; $readyDate = ($order->ready_date) ? DateHelper::getHumanDate($order->ready_date, true) : ''; $mafs = Str::replace('
', '', $order->productsWithCount); $mafs = Str::replace('
', "\n", $mafs); $sheet->setCellValue('A' . $i, $order->id); $sheet->setCellValue('B' . $i, $order->name); $sheet->setCellValue('C' . $i, $order->user->name); $sheet->setCellValue('D' . $i, $order->district->shortname); $sheet->setCellValue('E' . $i, $order->area->name); $sheet->setCellValue('F' . $i, $order->object_address); $sheet->setCellValue('G' . $i, $order->objectType->name); $sheet->setCellValue('H' . $i, $order->comment); $sheet->setCellValue('I' . $i, $instDate); $sheet->setCellValue('J' . $i, $readyDate); $sheet->setCellValue('K' . $i, $order->brigadier?->name); $sheet->setCellValue('L' . $i, $order->orderStatus->name); $sheet->setCellValue('M' . $i, $order->tg_group_name); $sheet->setCellValue('N' . $i, $order->tg_group_link); $sheet->setCellValue('O' . $i, $mafs); $sheet->setCellValue('P' . $i, $order->ready_to_mount); $i++; } $sheet->getStyle('A1:P' . $i - 1)->getBorders()->getAllBorders()->setBorderStyle(Border::BORDER_THIN)->setColor(new Color('777777')); $sheet->getStyle('A1:P' . $i - 1)->getAlignment()->setWrapText(true); $sheet->getStyle('A1:P' . $i - 1)->getAlignment()->setHorizontal(Alignment::HORIZONTAL_CENTER); $fileName = 'Площадки ' . date('Y-m-d H-i-s') . '.xlsx'; $writer = new Xlsx($spreadsheet); $fd = 'export/orders/tmp'; Storage::disk('public')->makeDirectory($fd); $fp = storage_path('app/public/export/orders/') . '/tmp/' . $fileName; Storage::disk('public')->delete($fd . '/' . $fileName); $writer->save($fp); PdfConverterClient::convert($fp); // create zip archive $fileModel = (new FileService())->createZipArchive($fd, Str::replace('.xlsx', '.zip', $fileName), $userId); // remove temp files Storage::disk('public')->deleteDirectory($fd); // return link return $fileModel?->link ?? ''; } }