@@ -217,4 +217,33 @@ public function testAddExternalColumnDimensionStyles(): void
217217 self ::assertEquals ($ countXfs + $ index , $ sheet3 ->getCell ('B1 ' )->getXfIndex ());
218218 self ::assertEquals ($ countXfs + $ index , $ sheet3 ->getColumnDimension ('B ' )->getXfIndex ());
219219 }
220+
221+ public function testAddExternalRowDimensionStyles (): void
222+ {
223+ $ spreadsheet1 = new \PhpOffice \PhpSpreadsheet \Spreadsheet ();
224+ $ sheet1 = $ spreadsheet1 ->createSheet ()->setTitle ('sheetWithColumnDimension ' );
225+ $ sheet1 ->getCell ('A1 ' )->setValue (1 );
226+ $ sheet1 ->getCell ('A1 ' )->getStyle ()->getFont ()->setItalic (true );
227+ $ sheet1 ->getRowDimension (2 )->setXfIndex ($ sheet1 ->getCell ('A1 ' )->getXfIndex ());
228+ $ index = $ sheet1 ->getRowDimension (2 )->getXfIndex ();
229+ self ::assertEquals (1 , $ index );
230+ self ::assertCount (2 , $ spreadsheet1 ->getCellXfCollection ());
231+
232+ $ spreadsheet2 = new \PhpOffice \PhpSpreadsheet \Spreadsheet ();
233+ $ sheet2 = $ spreadsheet2 ->createSheet ()->setTitle ('sheetWithTwoStyles ' );
234+ $ sheet2 ->getCell ('A1 ' )->setValue (1 );
235+ $ sheet2 ->getCell ('A1 ' )->getStyle ()->getFont ()->setBold (true );
236+ $ sheet2 ->getCell ('B2 ' )->getStyle ()->getFont ()->setSuperscript (true );
237+ $ countXfs = count ($ spreadsheet2 ->getCellXfCollection ());
238+ self ::assertEquals (3 , $ countXfs );
239+
240+ $ sheet3 = $ spreadsheet2 ->addExternalSheet ($ sheet1 );
241+ self ::assertCount (5 , $ spreadsheet2 ->getCellXfCollection ());
242+ self ::assertTrue ($ sheet3 ->getCell ('A1 ' )->getStyle ()->getFont ()->getItalic ());
243+ self ::assertTrue ($ sheet3 ->getCell ('A2 ' )->getStyle ()->getFont ()->getItalic ());
244+ self ::assertFalse ($ sheet3 ->getCell ('A2 ' )->getStyle ()->getFont ()->getBold ());
245+ // Prove Xf index changed although style is same.
246+ self ::assertEquals ($ countXfs + $ index , $ sheet3 ->getCell ('A2 ' )->getXfIndex ());
247+ self ::assertEquals ($ countXfs + $ index , $ sheet3 ->getRowDimension (2 )->getXfIndex ());
248+ }
220249}
0 commit comments