diff --git a/src/PhpSpreadsheet/Worksheet/Table.php b/src/PhpSpreadsheet/Worksheet/Table.php index 35966d6f..4ec4cbfc 100644 --- a/src/PhpSpreadsheet/Worksheet/Table.php +++ b/src/PhpSpreadsheet/Worksheet/Table.php @@ -4,6 +4,7 @@ namespace PhpOffice\PhpSpreadsheet\Worksheet; use PhpOffice\PhpSpreadsheet\Cell\Coordinate; use PhpOffice\PhpSpreadsheet\Exception as PhpSpreadsheetException; +use PhpOffice\PhpSpreadsheet\Shared\StringHelper; use PhpOffice\PhpSpreadsheet\Worksheet\Table\TableStyle; class Table @@ -226,10 +227,11 @@ class Table { if ($this->name !== '' && $worksheet !== null) { $spreadsheet = $worksheet->getParent(); + $tableName = StringHelper::strToUpper($this->name); foreach ($spreadsheet->getWorksheetIterator() as $sheet) { foreach ($sheet->getTableCollection() as $table) { - if ($table->getName() === $this->name) { + if (StringHelper::strToUpper($table->getName()) === $tableName) { throw new PhpSpreadsheetException("Workbook already contains a table named '{$this->name}'"); } } diff --git a/src/PhpSpreadsheet/Worksheet/Worksheet.php b/src/PhpSpreadsheet/Worksheet/Worksheet.php index 80f51b44..66315083 100644 --- a/src/PhpSpreadsheet/Worksheet/Worksheet.php +++ b/src/PhpSpreadsheet/Worksheet/Worksheet.php @@ -2158,8 +2158,9 @@ class Worksheet implements IComparable */ public function removeTableByName(string $name): self { + $name = Shared\StringHelper::strToUpper($name); foreach ($this->tableCollection as $key => $table) { - if ($table->getName() === $name) { + if (Shared\StringHelper::strToUpper($table->getName()) === $name) { unset($this->tableCollection[$key]); } } diff --git a/tests/PhpSpreadsheetTests/Worksheet/Table/RemoveTableTest.php b/tests/PhpSpreadsheetTests/Worksheet/Table/RemoveTableTest.php index 0495b11c..fb2bb939 100644 --- a/tests/PhpSpreadsheetTests/Worksheet/Table/RemoveTableTest.php +++ b/tests/PhpSpreadsheetTests/Worksheet/Table/RemoveTableTest.php @@ -18,7 +18,7 @@ class RemoveTableTest extends SetupTeardown self::assertEquals(1, $sheet->getTableCollection()->count()); - $sheet->removeTableByName('Table1'); + $sheet->removeTableByName('table1'); // case insensitive self::assertEquals(0, $sheet->getTableCollection()->count()); } diff --git a/tests/PhpSpreadsheetTests/Worksheet/Table/TableTest.php b/tests/PhpSpreadsheetTests/Worksheet/Table/TableTest.php index af205196..dd49aae1 100644 --- a/tests/PhpSpreadsheetTests/Worksheet/Table/TableTest.php +++ b/tests/PhpSpreadsheetTests/Worksheet/Table/TableTest.php @@ -87,7 +87,7 @@ class TableTest extends SetupTeardown $sheet->addTable($table1); $table2 = new Table(); - $table2->setName('Table_1'); + $table2->setName('table_1'); // case insensitive $sheet->addTable($table2); }