В Laravel Yajra Tables — это мощный пакет, обеспечивающий удобный способ отображения таблиц данных и управления ими. Одной из его ключевых особенностей является возможность экспорта таблиц данных в различные форматы, такие как PDF и Excel. В этой статье мы рассмотрим различные методы экспорта файлов PDF и Excel с использованием таблиц Yajra в Laravel, а также приведем примеры кода.
Метод 1: экспорт файлов PDF
Чтобы экспортировать таблицу данных в файл PDF с помощью таблиц Yajra в Laravel, вы можете выполнить следующие действия:
Шаг 1. Установите пакет Yajra DataTables
Сначала вам необходимо установить пакет Yajra DataTables, выполнив следующую команду:
composer require yajra/laravel-datatables-oracle
Шаг 2. Создайте маршрут
Создайте маршрут в файле web.phpдля обработки запроса на экспорт PDF:
Route::get('export-pdf', 'ExportController@exportPdf')->name('export.pdf');
Шаг 3. Создайте контроллер
Создайте новый контроллер под названием ExportController, используя следующую команду:
php artisan make:controller ExportController
Шаг 4. Определите метод ExportPdf()
Внутри ExportControllerопределите метод exportPdf():
use PDF;
use App\Http\Controllers\Controller;
class ExportController extends Controller
{
public function exportPdf()
{
$data = YourModel::all();
$pdf = PDF::loadView('pdf.export', compact('data'));
return $pdf->download('export.pdf');
}
}
Шаг 5. Создайте представление колонки
Создайте представление колонки под названием export.blade.phpвнутри каталога resources/views/pdf:
<!DOCTYPE html>
<html>
<head>
<title>PDF Export</title>
</head>
<body>
<table>
<thead>
<tr>
<th>Column 1</th>
<th>Column 2</th>
<!-- Add more columns as needed -->
</tr>
</thead>
<tbody>
@foreach ($data as $item)
<tr>
<td>{{ $item->column1 }}</td>
<td>{{ $item->column2 }}</td>
<!-- Add more columns as needed -->
</tr>
@endforeach
</tbody>
</table>
</body>
</html>
Метод 2: экспорт файлов Excel
Чтобы экспортировать таблицу данных в файл Excel с помощью таблиц Yajra в Laravel, вы можете использовать пакет Maatwebsite\Excel. Выполните следующие действия:
Шаг 1. Установите пакет Maatwebsite\Excel
Выполните следующую команду, чтобы установить пакет:
composer require maatwebsite/excel
Шаг 2. Создайте маршрут
Создайте маршрут в файле web.phpдля обработки запроса на экспорт Excel:
Route::get('export-excel', 'ExportController@exportExcel')->name('export.excel');
Шаг 3. Определите метод ExportExcel()
Внутри ExportControllerопределите метод exportExcel():
use Maatwebsite\Excel\Facades\Excel;
class ExportController extends Controller
{
public function exportExcel()
{
return Excel::download(new YourExport(), 'export.xlsx');
}
}
Шаг 4. Создайте класс экспорта
Создайте новый класс экспорта с помощью следующей команды:
php artisan make:export YourExport --model=YourModel
Шаг 5. Определите метод экспорта() в классе экспорта.
Внутри класса YourExportопределите метод export(), чтобы указать столбцы, которые нужно экспортировать:
use Maatwebsite\Excel\Concerns\FromQuery;
use Maatwebsite\Excel\Concerns\Exportable;
class YourExport implements FromQuery
{
use Exportable;
public function query()
{
return YourModel::query()->select('column1', 'column2');
// Add more columns as needed
}
}
В этой статье мы рассмотрели два метода экспорта файлов PDF и Excel с использованием таблиц Yajra в Laravel. Выполнив эти шаги и используя предоставленные примеры кода, вы можете легко экспортировать таблицы данных в форматы PDF и Excel в своем приложении Laravel. Таблицы Yajra и пакет Maatwebsite\Excel делают процесс экспорта данных простым и эффективным, позволяя вам экспортировать ценные данные для ваших пользователей.