Laravel Excel, ранее рабочие загрузки теперь не открываются (поврежденный файл, неверное расширение) - PullRequest
0 голосов
/ 06 февраля 2019

Я использую laravel excel для загрузки данных массива в течение нескольких недель, и сегодня внезапно загрузка не открывается.

Это дает неверный тип расширения (xlsx) и говорит, что этоможет быть поврежден.

До моего тега <?php нет пробелов и закрывающего тега нет вообще.В файл не было внесено никаких изменений, и загрузка работала иначе.Есть ли причина, по которой это произошло бы сейчас?Возможно ли это связано с выходным буфером?

Я действительно не хочу сохранять и возвращать загрузку, но я хочу сохранить ее как Excel.

Может быть, здесь есть что-то, что понятно

public function exportCatalog($id, $company){

    $allgroupResult= array();
    $rowCount = 2;
    $boldRows = array();


    $name = 'Export For ' . $id . ' Company ' . $company;

    $build = Excel::create($name, function ($excel) use ($allgroupResult) {

        $excel->setTitle('Catalog Export');

        $excel->sheet('Catalog Export', function ($sheet) use ($allgroupResult) {

            $sheet->fromArray($allgroupResult);

            foreach ( $boldRows as $row )   {
                $cell_name = excelColumnFromNumber($row)."1";
                $sheet->getStyle( $cell_name )->getFont()->setBold( true );
            }

            // freeze the header row
            $sheet->freezeFirstRow();

            // set header names
            $sheet->row(1, [
                'Product Images',
                'Product Images',
                'Product Images',
                'Product Images',
                'Product Images',
                'Product Images',
                'Product Images',
                'Product Images',
                'Product Images',


            ]); // column headers

            // set the width for the columns that are used 
            $sheet->setWidth('A', 10);
            $sheet->setWidth('B', 15);
            $sheet->setWidth('C', 10);
            $sheet->setWidth('D', 10);
            $sheet->setWidth('E', 10);
            $sheet->setWidth('F', 10);
            $sheet->setWidth('G', 10);
            $sheet->setWidth('H', 60);
            $sheet->setWidth('I', 10);

        });

    })->download('xlsx');

}
...