У меня небольшая проблема при использовании Laravel Excel. Я пытался разместить границы на своем листе, но они не отображаются. Я не вижу, где мне нужно редактировать свой код. Может ли кто-нибудь помочь мне найти мою ошибку? Я даю вам мой код ниже:
ExportExcelController. php
<?php
namespace App\Http\Controllers;
use App\Event;
use App\Exports\ReservationExport;
use App\Reservation;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB;
use Maatwebsite\Excel\Events\AfterSheet;
use Maatwebsite\Excel\Events\BeforeExport;
use Maatwebsite\Excel\Facades\Excel;
use Maatwebsite\Excel\Sheet;
use PhpOffice\PhpSpreadsheet\Spreadsheet;
class ExportExcelController extends Controller
{
function index()
{
$donneesRes = Reservation::all();
//DB::table('reservations')->join('events', 'event_id', '=', 'events.id')->get();
return view('listeHoraires')->with('donneesRes', $donneesRes);
}
/*public function show(){
$reservation = new Reservation();
$event = $reservation->event();
$horaire = $reservation->horaire();
$local = $reservation->local();
}*/
function excel()
{
$sheet = new Spreadsheet();
$donneesRes = DB::table('reservations')->get()->toArray();
/*$donneesTab[] = array('N° semaine', 'Date', 'Heure de début', 'Heure de fin', 'Cours', 'Horaire', 'Local');
$styleArray = [
'B2:G8',
[
'borders' => [
'outline' => [
'borderStyle' => \PhpOffice\PhpSpreadsheet\Style\Border::BORDER_THICK,
'color' => ['argb' => 'FFFF0000'],
],
]
]
];
$sheet->getStyle('B2:G8')->applyFromArray($styleArray);*/
foreach($donneesRes as $donnee)
{
$donneesTab[] = array(
'N° semaine' => $donnee->numero_semaine,
'Date' => $donnee->date,
'Heure de début' => $donnee->heure_debut,
'Heure de fin' => $donnee->heure_fin,
'Cours' => $donnee->Event_id,
'Horaire' => $donnee->horaire_id,
'Local' => $donnee->local_id
);
}
$export = new ReservationExport();
return Excel::download($export, "horaire.xlsx");
}
}
ReservationExport. php
<?php
namespace App\Exports;
use App\Reservation;
use Maatwebsite\Excel\Concerns\FromCollection;
use Maatwebsite\Excel\Concerns\ShouldAutoSize;
use Maatwebsite\Excel\Concerns\WithHeadings;
use Maatwebsite\Excel\Events\AfterSheet;
class ReservationExport implements FromCollection, WithHeadings, ShouldAutoSize
{
/**
* @return \Illuminate\Support\Collection
*/
public function collection()
{
return Reservation::all();
}
public function headings(): array
{
return [
'N° semaine',
'Date',
'Heure de début',
'Heure de fin',
'Cours',
'Horaire',
'Local'
];
}
public function registerEvents(): array
{
return [
AfterSheet::class => function(AfterSheet $event) {
$cellRange = 'A1:I3';
$event->sheet->getDelegate()->getStyle($cellRange)->getFont()->setSize(14);
},
];
}
}
Спасибо за ваши ответы.