@@ -188,4 +188,35 @@ public function testAddExternalDuplicateName(): void
188188 $ sheet ->getCell ('A1 ' )->getStyle ()->getFont ()->setBold (true );
189189 $ this ->object ->addExternalSheet ($ sheet );
190190 }
191+
192+ public function testAddExternalColumnDimensionStyles (): void
193+ {
194+ $ spreadsheet1 = new \PhpOffice \PhpSpreadsheet \Spreadsheet ();
195+ $ sheet1 = $ spreadsheet1 ->createSheet ()->setTitle ('sheetWithColumnDimension ' );
196+ $ sheet1 ->getCell ('A1 ' )->setValue (1 );
197+ $ sheet1 ->getCell ('A1 ' )->getStyle ()->getFont ()->setItalic (true );
198+ $ sheet1 ->getColumnDimension ('B ' )->setWidth ('10 ' )->setXfIndex ($ sheet1 ->getCell ('A1 ' )->getXfIndex ());
199+ $ index = $ sheet1 ->getColumnDimension ('B ' )->getXfIndex ();
200+ self ::assertEquals (1 , $ index );
201+ self ::assertCount (2 , $ spreadsheet1 ->getCellXfCollection ());
202+
203+ $ spreadsheet2 = new \PhpOffice \PhpSpreadsheet \Spreadsheet ();
204+ $ sheet2 = $ spreadsheet2 ->createSheet ()->setTitle ('sheetWithTwoStyles ' );
205+ $ sheet2 ->getCell ('A1 ' )->setValue (1 );
206+ $ sheet2 ->getCell ('A1 ' )->getStyle ()->getFont ()->setBold (true );
207+ $ sheet2 ->getCell ('B2 ' )->getStyle ()->getFont ()->setSuperscript (true );
208+ $ countXfs = count ($ spreadsheet2 ->getCellXfCollection ());
209+ self ::assertEquals (3 , $ countXfs );
210+
211+ $ sheet3 = $ spreadsheet2 ->addExternalSheet ($ sheet1 );
212+ self ::assertCount (5 , $ spreadsheet2 ->getCellXfCollection ());
213+ self ::assertTrue ($ sheet3 ->getCell ('A1 ' )->getStyle ()->getFont ()->getItalic ());
214+ self ::assertTrue ($ sheet3 ->getCell ('B1 ' )->getStyle ()->getFont ()->getItalic ());
215+ self ::assertFalse ($ sheet3 ->getCell ('B1 ' )->getStyle ()->getFont ()->getBold ());
216+ // Prove Xf index changed although style is same.
217+ self ::assertEquals ($ countXfs + $ index , $ sheet3 ->getCell ('B1 ' )->getXfIndex ());
218+ self ::assertEquals ($ countXfs + $ index , $ sheet3 ->getColumnDimension ('B ' )->getXfIndex ());
219+ }
220+
221+
191222}
0 commit comments