diff --git a/docs/references/features-cross-reference.md b/docs/references/features-cross-reference.md
index 399be82e..d18c0969 100644
--- a/docs/references/features-cross-reference.md
+++ b/docs/references/features-cross-reference.md
@@ -16,7 +16,7 @@
|
XLS |
XLSX |
- Excel2003XML |
+ XML (Excel2003XML) |
Ods |
Gnumeric |
CSV |
@@ -732,12 +732,32 @@
|
|
+
+ | Hidden Worksheets |
+ ✔ |
+ ✔ |
+ |
+ ✔ |
+ ✔ |
+ N/A |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+
| Coloured Tabs |
|
|
|
|
+ |
N/A |
|
|
diff --git a/tests/PhpSpreadsheetTests/Reader/Ods/HiddenWorksheetTest.php b/tests/PhpSpreadsheetTests/Reader/Ods/HiddenWorksheetTest.php
index 9edaa9b7..c02c8771 100644
--- a/tests/PhpSpreadsheetTests/Reader/Ods/HiddenWorksheetTest.php
+++ b/tests/PhpSpreadsheetTests/Reader/Ods/HiddenWorksheetTest.php
@@ -32,7 +32,6 @@ class HiddenWorksheetTest extends TestCase
$sheetAssertions = $assertions[$worksheet->getTitle()];
foreach ($sheetAssertions as $test => $expectedResult) {
- $testMethodName = 'get' . ucfirst($test);
$actualResult = $worksheet->getSheetState();
self::assertSame(
$expectedResult,
diff --git a/tests/PhpSpreadsheetTests/Reader/Xls/HiddenWorksheetTest.php b/tests/PhpSpreadsheetTests/Reader/Xls/HiddenWorksheetTest.php
new file mode 100644
index 00000000..82fd6e12
--- /dev/null
+++ b/tests/PhpSpreadsheetTests/Reader/Xls/HiddenWorksheetTest.php
@@ -0,0 +1,56 @@
+spreadsheet = $reader->load($filename);
+ }
+
+ public function testPageSetup(): void
+ {
+ $assertions = $this->worksheetAssertions();
+
+ foreach ($this->spreadsheet->getAllSheets() as $worksheet) {
+ if (!array_key_exists($worksheet->getTitle(), $assertions)) {
+ continue;
+ }
+
+ $sheetAssertions = $assertions[$worksheet->getTitle()];
+ foreach ($sheetAssertions as $test => $expectedResult) {
+ $actualResult = $worksheet->getSheetState();
+ self::assertSame(
+ $expectedResult,
+ $actualResult,
+ "Failed asserting sheet state {$expectedResult} for Worksheet '{$worksheet->getTitle()}' {$test}"
+ );
+ }
+ }
+ }
+
+ private function worksheetAssertions(): array
+ {
+ return [
+ 'Sheet1' => [
+ 'sheetState' => Worksheet::SHEETSTATE_VISIBLE,
+ ],
+ 'Sheet2' => [
+ 'sheetState' => Worksheet::SHEETSTATE_HIDDEN,
+ ],
+ ];
+ }
+}
diff --git a/tests/PhpSpreadsheetTests/Reader/Xlsx/HiddenWorksheetTest.php b/tests/PhpSpreadsheetTests/Reader/Xlsx/HiddenWorksheetTest.php
new file mode 100644
index 00000000..130d76a6
--- /dev/null
+++ b/tests/PhpSpreadsheetTests/Reader/Xlsx/HiddenWorksheetTest.php
@@ -0,0 +1,56 @@
+spreadsheet = $reader->load($filename);
+ }
+
+ public function testPageSetup(): void
+ {
+ $assertions = $this->worksheetAssertions();
+
+ foreach ($this->spreadsheet->getAllSheets() as $worksheet) {
+ if (!array_key_exists($worksheet->getTitle(), $assertions)) {
+ continue;
+ }
+
+ $sheetAssertions = $assertions[$worksheet->getTitle()];
+ foreach ($sheetAssertions as $test => $expectedResult) {
+ $actualResult = $worksheet->getSheetState();
+ self::assertSame(
+ $expectedResult,
+ $actualResult,
+ "Failed asserting sheet state {$expectedResult} for Worksheet '{$worksheet->getTitle()}' {$test}"
+ );
+ }
+ }
+ }
+
+ private function worksheetAssertions(): array
+ {
+ return [
+ 'Sheet1' => [
+ 'sheetState' => Worksheet::SHEETSTATE_VISIBLE,
+ ],
+ 'Sheet2' => [
+ 'sheetState' => Worksheet::SHEETSTATE_HIDDEN,
+ ],
+ ];
+ }
+}
diff --git a/tests/data/Reader/XLS/HiddenSheet.xls b/tests/data/Reader/XLS/HiddenSheet.xls
new file mode 100644
index 00000000..39ced197
Binary files /dev/null and b/tests/data/Reader/XLS/HiddenSheet.xls differ
diff --git a/tests/data/Reader/XLSX/HiddenSheet.xlsx b/tests/data/Reader/XLSX/HiddenSheet.xlsx
new file mode 100644
index 00000000..6d1d56a2
Binary files /dev/null and b/tests/data/Reader/XLSX/HiddenSheet.xlsx differ