@@ -217,4 +217,33 @@ public function testAddExternalColumnDimensionStyles(): void
217
217
self ::assertEquals ($ countXfs + $ index , $ sheet3 ->getCell ('B1 ' )->getXfIndex ());
218
218
self ::assertEquals ($ countXfs + $ index , $ sheet3 ->getColumnDimension ('B ' )->getXfIndex ());
219
219
}
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
+ }
220
249
}
0 commit comments