@@ -515,16 +515,7 @@ public function createSheet(?int $sheetIndex = null): Worksheet
515
515
{
516
516
$ newSheet = new Worksheet ($ this );
517
517
$ title = $ newSheet ->getTitle ();
518
- if ($ this ->sheetNameExists ($ title )) {
519
- $ i = 1 ;
520
- $ newTitle = "$ title $ i " ;
521
- while ($ this ->sheetNameExists ($ newTitle )) {
522
- ++$ i ;
523
- $ newTitle = "$ title $ i " ;
524
- }
525
- $ newSheet ->setTitle ($ newTitle );
526
- }
527
- $ this ->addSheet ($ newSheet , $ sheetIndex );
518
+ $ this ->addSheet ($ newSheet , $ sheetIndex , true );
528
519
529
520
return $ newSheet ;
530
521
}
@@ -545,8 +536,20 @@ public function sheetNameExists(string $worksheetName): bool
545
536
* @param Worksheet $worksheet The worksheet to add
546
537
* @param null|int $sheetIndex Index where sheet should go (0,1,..., or null for last)
547
538
*/
548
- public function addSheet (Worksheet $ worksheet , ?int $ sheetIndex = null ): Worksheet
539
+ public function addSheet (Worksheet $ worksheet , ?int $ sheetIndex = null , bool $ retitleIfNeeded = false ): Worksheet
549
540
{
541
+ if ($ retitleIfNeeded ) {
542
+ $ title = $ worksheet ->getTitle ();
543
+ if ($ this ->sheetNameExists ($ title )) {
544
+ $ i = 1 ;
545
+ $ newTitle = "$ title $ i " ;
546
+ while ($ this ->sheetNameExists ($ newTitle )) {
547
+ ++$ i ;
548
+ $ newTitle = "$ title $ i " ;
549
+ }
550
+ $ worksheet ->setTitle ($ newTitle );
551
+ }
552
+ }
550
553
if ($ this ->sheetNameExists ($ worksheet ->getTitle ())) {
551
554
throw new Exception (
552
555
"Workbook already contains a worksheet named ' {$ worksheet ->getTitle ()}'. Rename this worksheet first. "
0 commit comments