Экспорт Laravel Excel - из представления не работает

Я попытался реализовать экспорт в файл excel из подхода View, используя Laravel Excel. Вот ссылка на документацию https://laravel-excel.maatwebsite.nl/3.1/exports/from-view.html. Но я пока не могу понять это, ссылаясь на пример, показанный на веб-сайте. Возвращает ошибку PhpOffice \ PhpSpreadsheet \ Writer \ Exception Invalid parameters passed.. Я менял свои коды, пытаясь решить эту проблему, но безуспешно. Пожалуйста, помогите мне понять это. Ниже мои коды. Спасибо.

LoansExport.php

<?php

namespace App\Exports;

use App\Loan;

use Illuminate\Contracts\View\View;
use Maatwebsite\Excel\Concerns\FromView;

class LoansExport implements FromView
{
public function view(): View
{
    return view('partials.view_loan_export', [
        'loans' => Loan::all()
    ]);
 }
}

view_loan_export.blade.php

<!DOCTYPE html>
<html>
<head>
<title></title>
<meta http-equiv = "Content-Type" content = "text/html; charset=utf-8" />
</head>
<body>
<table>
    <thead>
    <tr>
        <th>First Name</th>
        <th>Last Name</th>
    </tr>
    </thead>
    <tbody>
   @foreach ($loans as $loan)
        <tr>
           <td >{{ $loan->member->fname }}</td>
           <td >{{ $loan->member->lname }}</td>
        </tr>
    @endforeach
    </tbody>
   </table>
 </body>

LoansController.php

<?php

namespace App\Http\Controllers;
use App\Loan as Loan;
use App\Member as Member;

use Illuminate\Http\Request;
use App\Exports\LoansExport;
use Maatwebsite\Excel\Facades\Excel;

class LoansController extends Controller
{

public function loanexport() 
{
    return Excel::download(new LoansExport, 'loans.xlsx');
}

}

веб.php

Route::get('/loanexport', 'LoansController@loanexport');

ошибкаЭкспорт Laravel Excel - из представления не работает

Любая помощь, пожалуйста :(

Eli 24.01.2019 14:25
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Поиск нового уровня в Laravel с помощью MeiliSearch и Scout
Поиск нового уровня в Laravel с помощью MeiliSearch и Scout
Laravel Scout - это популярный пакет, который предоставляет простой и удобный способ добавить полнотекстовый поиск в ваше приложение Laravel. Он...
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
В последние годы архитектура микросервисов приобрела популярность как способ построения масштабируемых и гибких приложений. Laravel , популярный PHP...
Как построить CRUD-приложение в Laravel
Как построить CRUD-приложение в Laravel
Laravel - это популярный PHP-фреймворк, который позволяет быстро и легко создавать веб-приложения. Одной из наиболее распространенных задач в...
0
1
8 392
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

просто поместите тег таблицы и тег внутри него на ваш взгляд

<table>
    <thead>
    <tr>
        <th>First Name</th>
        <th>Last Name</th>
    </tr>
    </thead>
    <tbody>
   @foreach ($loans as $loan)
        <tr>
           <td >{{ $loan->member->fname }}</td>
           <td >{{ $loan->member->lname }}</td>
        </tr>
    @endforeach
    </tbody>
   </table>

Я сделал по-другому

LoansController.php

public function loanexport(){
$loan= array();
    $loans= loan::all();
    $data =  [
        'success' => 'success',
        'loans' => $loans,
];
return Excel::download(new LoansExport($data), 'loans.xlsx');
}

LoansExport.php

public function __construct($data) {
    $this->data = $data;
}

public function view(): View
{
    //dd($this->data);   
    return view('partials.view_loan_export',$this->data);
}

view_loan_export.blade.php

<table>
<thead>
  <tr>
    <th>First Name</th>
    <th>Last Name</th>
  </tr>
</thead>
<tbody>
@foreach ($loans as $loan)
    <tr>
       <td >{{ $loan->member->fname }}</td>
       <td >{{ $loan->member->lname }}</td>
    </tr>
@endforeach
</tbody>
</table>

Ты сделал мой день светлее

Sa'ad Abdurrazzaq 05.12.2021 06:28

Другие вопросы по теме