ColumnWidthTest.php 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. <?php
  2. namespace PhpOffice\PhpSpreadsheetTests\Functional;
  3. use PhpOffice\PhpSpreadsheet\Spreadsheet;
  4. use PhpOffice\PhpSpreadsheet\Worksheet\ColumnDimension;
  5. class ColumnWidthTest extends AbstractFunctional
  6. {
  7. public function providerFormats(): array
  8. {
  9. return [
  10. ['Xlsx'],
  11. ];
  12. }
  13. /**
  14. * @dataProvider providerFormats
  15. */
  16. public function testReadColumnWidth(string $format): void
  17. {
  18. // create new sheet with column width
  19. $spreadsheet = new Spreadsheet();
  20. $sheet = $spreadsheet->getActiveSheet();
  21. $sheet->setCellValue('A1', 'Hello World !');
  22. $sheet->getColumnDimension('A')->setWidth(20);
  23. $this->assertColumn($spreadsheet);
  24. $reloadedSpreadsheet = $this->writeAndReload($spreadsheet, $format);
  25. $this->assertColumn($reloadedSpreadsheet);
  26. }
  27. private function assertColumn(Spreadsheet $spreadsheet): void
  28. {
  29. $sheet = $spreadsheet->getActiveSheet();
  30. $columnDimensions = $sheet->getColumnDimensions();
  31. self::assertArrayHasKey('A', $columnDimensions);
  32. $column = array_shift($columnDimensions);
  33. self::assertInstanceOf(ColumnDimension::class, $column);
  34. self::assertEquals(20, $column->getWidth());
  35. }
  36. }