Я пытаюсь экспортировать некоторые данные в формате Excel, используя laravel. Но в этом формате я хочу показать некоторые другие строки, которые я понятия не имею.
<?php
namespace App\Exports;
use App\SalesLog;
use App\SalesLogItem;
use RegistersEventListeners;
use Maatwebsite\Excel\Concerns\FromQuery;
use Maatwebsite\Excel\Concerns\Exportable;
use Maatwebsite\Excel\Concerns\WithHeadings;
use Maatwebsite\Excel\Concerns\ShouldAutoSize;
use App\Helpers\DateHelper;
use Maatwebsite\Excel\Events\AfterSheet;
use Maatwebsite\Excel\Events\BeforeExport;
use Maatwebsite\Excel\Concerns\WithEvents;
use Maatwebsite\Excel\Concerns\WithMapping;
use Maatwebsite\Excel\Concerns\FromCollection;
use PhpOffice\PhpSpreadsheet\Style\NumberFormat;
use Maatwebsite\Excel\Concerns\WithColumnFormatting;
class SalesExport implements FromQuery, WithHeadings,ShouldAutoSize, WithEvents
{
/**
* @return \Illuminate\Support\Collection
*/
use Exportable;
public function __construct( $id, $aircraft_name)
{
$this->id = $id;
$this->aircraft_name=$aircraft_name;
}
public function headings(): array
{
return [
'#No',
'Item Description',
'Unit Type',
'Item Price',
];
}
public function query()
{
return SalesLog::query()->join('sales_log_items','sales_logs.id','sales_log_items.sales_log_id')
->where('sales_log_items.sales_log_id', $this->id)
->select('sales_log_items.product_id','sales_log_items.name','sales_log_items.unit_type','sales_log_items.price');
}
}
public function index($log_id)
{
$flight_nr=SalesLog::find($log_id)->flight_number_one;
$date=date('y-m-d');
$excel_title='sales_log'.$date;
$data=SalesLog::find($log_id);
return (new SalesExport($log_id,$data->aircraft_name))->download($excel_title.'.xlsx');
}
В этом коде загружается документ Excel, но он показывает мне только те данные, которые я беру в запросе метода.
Я хочу показать какой-то верхний колонтитул в начале, а затем нижний колонтитул в конце, который может иметь общее количество. Может ли кто-нибудь помочь мне найти, какую функцию использовать? Я использую maatwebsite 3.1