WorksheetInfoNamesTest.php 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105
  1. <?php
  2. namespace PhpOffice\PhpSpreadsheetTests\Reader\Xlsx;
  3. use PhpOffice\PhpSpreadsheet\Reader\Xlsx;
  4. use PhpOffice\PhpSpreadsheet\Shared\File;
  5. use PHPUnit\Framework\TestCase;
  6. class WorksheetInfoNamesTest extends TestCase
  7. {
  8. public function testListWorksheetInfo(): void
  9. {
  10. $filename = 'tests/data/Reader/XLSX/rowColumnAttributeTest.xlsx';
  11. $reader = new Xlsx();
  12. $actual = $reader->listWorksheetInfo($filename);
  13. $expected = [
  14. [
  15. 'worksheetName' => 'Sheet1',
  16. 'lastColumnLetter' => 'F',
  17. 'lastColumnIndex' => 5,
  18. 'totalRows' => '6',
  19. 'totalColumns' => 6,
  20. ],
  21. ];
  22. self::assertEquals($expected, $actual);
  23. }
  24. public function testListWorksheetInfoNamespace(): void
  25. {
  26. $filename = 'tests/data/Reader/XLSX/namespaces.xlsx';
  27. $file = 'zip://';
  28. $file .= $filename;
  29. $file .= '#xl/workbook.xml';
  30. $data = file_get_contents($file);
  31. // confirm that file contains expected namespaced xml tag
  32. if ($data === false) {
  33. self::fail('Unable to read file');
  34. } else {
  35. self::assertStringContainsString('<x:workbook ', $data);
  36. }
  37. $reader = new Xlsx();
  38. $actual = $reader->listWorksheetInfo($filename);
  39. $expected = [
  40. [
  41. 'worksheetName' => 'transactions',
  42. 'lastColumnLetter' => 'K',
  43. 'lastColumnIndex' => 10,
  44. 'totalRows' => 2,
  45. 'totalColumns' => 11,
  46. ],
  47. ];
  48. self::assertEquals($expected, $actual);
  49. }
  50. public function testListWorksheetNames(): void
  51. {
  52. $filename = 'tests/data/Reader/XLSX/rowColumnAttributeTest.xlsx';
  53. $reader = new Xlsx();
  54. $actual = $reader->listWorksheetNames($filename);
  55. $expected = ['Sheet1'];
  56. self::assertEquals($expected, $actual);
  57. }
  58. public function testListWorksheetNamesNamespace(): void
  59. {
  60. $filename = 'tests/data/Reader/XLSX/namespaces.xlsx';
  61. $reader = new Xlsx();
  62. $actual = $reader->listWorksheetNames($filename);
  63. $expected = ['transactions'];
  64. self::assertEquals($expected, $actual);
  65. }
  66. public function testListWorksheetNamesChartSheet(): void
  67. {
  68. $filename = 'tests/data/Reader/XLSX/ChartSheet.xlsx';
  69. $reader = new Xlsx();
  70. $actual = $reader->listWorksheetNames($filename);
  71. $expected = ['Sheet1', 'Chart1'];
  72. self::assertEquals($expected, $actual);
  73. }
  74. public function testListWorksheetInfoChartSheet(): void
  75. {
  76. $filename = 'tests/data/Reader/XLSX/ChartSheet.xlsx';
  77. $reader = new Xlsx();
  78. $actual = $reader->listWorksheetInfo($filename);
  79. $chartSheetInfo = $actual[1];
  80. self::assertSame('Chart1', $chartSheetInfo['worksheetName']);
  81. self::assertSame(-1, $chartSheetInfo['lastColumnIndex']);
  82. self::assertSame(0, $chartSheetInfo['totalRows']);
  83. self::assertSame(0, $chartSheetInfo['totalColumns']);
  84. }
  85. }