
Мы рассмотрели экспорт элементов из таблицы базы данных на лист, но не рассказали, как настроить этот лист.
Что мы хотим сделать, так это создать уникальный способ отображения контента, возможно, даже внедрив некоторые элементы, которые не хранятся в базе данных. Это включает в себя использование блейд-компонентов в Laravel.
Хотя шаг за шагом. Во-первых, нам нужно создать наш экспортер.
php artisan make:export ViewExporter --model=User
Это то, что генерирует команда.
Но вместо реализации FromCollection нам нужно реализовать FromView. Для проблемы FromView требуется метод view. Он вернет View.
Далее нам нужен вид. Создайте свое представление точно так же, как вы обычно создаете свои представления. Я собираюсь создать представление users.blade.php в подкаталоге exports под views.
project_name/resources/views/exports/users.blade.php
Внутри представления нам нужен файл table. Эта таблица будет преобразована в данные на нашем листе Excel. Добавьте данные заголовка в компонент thead таблицы. Данные ячейки будут находиться внутри нашего файла tbody.
Чтобы вызвать view, добавьте в экспортер следующий фрагмент:
return view('exports.users');
Нам просто нужно создать вызов нашего ViewExporter, чтобы начать загрузку.
Результаты, которые мы получаем, следующие.

Чтобы отобразить фактические пользовательские данные, нам просто нужно использовать наши знания Laravel и передать данные User в качестве аргумента представления. Затем мы можем использовать блейд-директивы для циклического просмотра данных.
Повторный вызов маршрута дает следующий файл.

Что, если мы обернем наши заголовки тегами strong?
Получаем жирные заголовки.

Получайте удовольствие, экспериментируя с этим.

Дино Кайич в настоящее время является руководителем отдела информационных технологий в компаниях LSBio (LifeSpan BioSciences, Inc.), Absolute Antibody, Kerafast, Everest BioTech, Nordic MUbio и Exalpha. Он также является генеральным директором MyAutoSystem. Он имеет более чем десятилетний опыт разработки программного обеспечения. У него есть B.S. в области компьютерных наук и несовершеннолетнего в области биологии. Его опыт включает в себя создание приложений для электронной коммерции на уровне предприятия, разработку программного обеспечения на основе исследований и содействие распространению знаний посредством письма.
Вы можете связаться с ним в LinkedIn, подписаться на него в Instagram или подписаться на его публикацию в Medium.