WithStylesTest.php 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. <?php
  2. namespace Maatwebsite\Excel\Tests\Concerns;
  3. use Maatwebsite\Excel\Concerns\Exportable;
  4. use Maatwebsite\Excel\Concerns\FromArray;
  5. use Maatwebsite\Excel\Concerns\WithStyles;
  6. use Maatwebsite\Excel\Tests\TestCase;
  7. use PhpOffice\PhpSpreadsheet\Worksheet\Worksheet;
  8. class WithStylesTest extends TestCase
  9. {
  10. /**
  11. * @test
  12. */
  13. public function can_configure_styles()
  14. {
  15. $export = new class implements FromArray, WithStyles
  16. {
  17. use Exportable;
  18. public function styles(Worksheet $sheet)
  19. {
  20. return [
  21. 1 => ['font' => ['italic' => true]],
  22. 'B2' => ['font' => ['bold' => true]],
  23. 'C' => ['font' => ['size' => 16]],
  24. ];
  25. }
  26. public function array(): array
  27. {
  28. return [
  29. ['A1', 'B1', 'C1'],
  30. ['A2', 'B2', 'C2'],
  31. ];
  32. }
  33. };
  34. $export->store('with-styles.xlsx');
  35. $spreadsheet = $this->read(__DIR__ . '/../Data/Disks/Local/with-styles.xlsx', 'Xlsx');
  36. $sheet = $spreadsheet->getActiveSheet();
  37. $this->assertTrue($sheet->getStyle('A1')->getFont()->getItalic());
  38. $this->assertTrue($sheet->getStyle('B1')->getFont()->getItalic());
  39. $this->assertTrue($sheet->getStyle('B2')->getFont()->getBold());
  40. $this->assertFalse($sheet->getStyle('A2')->getFont()->getBold());
  41. $this->assertEquals(16, $sheet->getStyle('C2')->getFont()->getSize());
  42. }
  43. }