Почему мой Laravel Export возвращает пустой лист?

Я использую Laravel Export для экспорта файла excel с некоторыми данными. Когда я создаю свой запрос и использую dd() для проверки того, как выглядят данные, все выглядит хорошо. Например:

dd($result);

array:510 [▼
    0 => array:24 [▼
        "abc" => "123"
        "foo" => "bar"
        "key" => "value"
        ...
        "pivot" => array:4 [ …4]
    1 => array:24 [▼
        ...
 ]

Вот как выглядит мой метод экспорта:

Excel::create('my-file', function ($excel) use ($result) {
    $excel->sheet('Page1', function ($sheet) use ($result) {
        $sheet->fromArray(array($result));
    });
})->export('xlsx');

Приведенное выше создает совершенно пустой файл Excel.

Я не уверен, как еще устранить эту проблему. Кажется, я передаю хорошие данные, но возвращаю пустой лист.

Благодарен за любые предложения!


person Damon    schedule 16.09.2017    source источник
comment
я думаю, что хорошо получать данные в формате объекта, используя get() вместо формата массива? и попробуйте это fromArray($result) работает для метода get..   -  person RamAnji    schedule 16.09.2017
comment
У вас одинаковое имя ключа для каждого индекса? и попробуйте dd перед передачей значения в $sheet-›fromArray()   -  person Ali    schedule 17.09.2017


Ответы (2)


Попробуй это -

Excel::create('my-file', function ($excel) {
    $excel->sheet('Page1', function ($sheet) {
        $sheet->fromArray($result);
    });
})->export('xlsx');

Ссылайтесь также на эту ссылку - http://www.maatwebsite.nl/laravel-excel/docs/export для Creating a sheet from an array

Надеюсь, что это поможет вам.

person Suniti Yadav    schedule 16.09.2017

Пытаться

$sheet->fromArray((array)$result);
person nartoan    schedule 29.09.2017