maatwebsite / laravel-excel возвращает поврежденный файл при экспорте в Live Server, но работает в Localhost - PullRequest
0 голосов
/ 01 декабря 2018
  • PHP версия 5.6
  • Laravel 5.2
  • maatwebsite / excel: 2.1.0

Приведенный ниже код отлично работает в localhost,но когда я проверяю с Live Server (AWS Light Sail), возвращает поврежденный файл Excel / PDF.Я дал все необходимые разрешения, рекомендованные maatwebiste.И когда я пытаюсь dd () результат внутри функции сервер возвращает 500 Внутренний ответ сервера об ошибке.Когда я проверяю на некоторых форумах, кто-то говорит, что проблема возникает с пробелами внутри функции и перед <?php Tag, я пробовал с решением, но возвращает то же самое.Любая помощь будет принята с благодарностью. </p>

 public function export(Request $request, $type = 'pdf')
    {
        try {
            $data = $this->getReport($request->All(),new ServiceReport());
            return Excel::create('service_report', function ($excel) use ($data) {
                $excel->setTitle('ServiceReport');
                $excel->setDescription('Service Repor');
                $excel->sheet('AxisPro-ServiceReport', function ($sheet) use ($data) {
                    $sheet->setOrientation('portrait');
                    $this->setColumnHeader($sheet,['Invoice No','Date','Customer']);
                    if (!empty($data)) {
                        foreach ($data as $key => $row) {
                            $i = $key + 2;
                            $sheet->cell('A' . $i, $row->invoice_no);
                            $sheet->cell('B' . $i, sql2date($row->transaction_date));
                            $sheet->cell('C' . $i, $row->customer_name)->setAutoSize(false);
                        }
                    }
                    $sheet->setPageMargin(0);
                    $sheet->setBorder('A1:' . $sheet->getHighestColumn() . $sheet->getHighestRow());
                    $sheet->row(1, function ($row) {
                        $row->setBackground('#d9d9d9');
                    });
                });
            })->download($type);
        } catch (\Exception $e) {
            throw new \Exception($e->getMessage());
        }
    }
...