55namespace PhpOffice \PhpSpreadsheetTests \Reader \Ods ;
66
77use PhpOffice \PhpSpreadsheet \Reader \Ods as OdsReader ;
8+ use PhpOffice \PhpSpreadsheet \Spreadsheet ;
89use PhpOffice \PhpSpreadsheetTests \Functional \AbstractFunctional ;
910
1011class CeilingFloorTest extends AbstractFunctional
@@ -49,8 +50,8 @@ public function testReadAndWriteOds(): void
4950 "Error in cell $ key "
5051 );
5152 }
52- self ::assertSame ('#VALUE ! ' , $ oldSheet ->getCell ('E1 ' )->getCalculatedValue ());
53- self ::assertSame ('#VALUE ! ' , $ oldSheet ->getCell ('F1 ' )->getCalculatedValue ());
53+ self ::assertSame ('#NUM ! ' , $ oldSheet ->getCell ('E1 ' )->getCalculatedValue ());
54+ self ::assertSame ('#NUM ! ' , $ oldSheet ->getCell ('F1 ' )->getCalculatedValue ());
5455
5556 $ spreadsheet = $ this ->writeAndReload ($ spreadsheetOld , 'Ods ' );
5657 $ spreadsheetOld ->disconnectWorksheets ();
@@ -62,8 +63,8 @@ public function testReadAndWriteOds(): void
6263 "Error in cell $ key "
6364 );
6465 }
65- self ::assertSame ('#VALUE ! ' , $ sheet ->getCell ('E1 ' )->getCalculatedValue ());
66- self ::assertSame ('#VALUE ! ' , $ sheet ->getCell ('F1 ' )->getCalculatedValue ());
66+ self ::assertSame ('#NUM ! ' , $ sheet ->getCell ('E1 ' )->getCalculatedValue ());
67+ self ::assertSame ('#NUM ! ' , $ sheet ->getCell ('F1 ' )->getCalculatedValue ());
6768
6869 $ spreadsheet ->disconnectWorksheets ();
6970 }
@@ -88,4 +89,32 @@ public function testReadAndWriteXlsx(): void
8889
8990 $ spreadsheet ->disconnectWorksheets ();
9091 }
92+
93+ public function testWriteXcl (): void
94+ {
95+ $ spreadsheet = new Spreadsheet ();
96+ $ sheet = $ spreadsheet ->getActiveSheet ();
97+ $ sheet ->getCell ('A1 ' )->setValue ('=CEILING.XCL(17.8,8) ' );
98+ $ sheet ->getCell ('B1 ' )->setValue ('=FLOOR.XCL(17.8,8) ' );
99+
100+ $ spreadsheetOds = $ this ->writeAndReload ($ spreadsheet , 'Ods ' );
101+ $ sheetOds = $ spreadsheetOds ->getActiveSheet ();
102+ self ::assertSame ('=CEILING(17.8,8) ' , $ sheetOds ->getCell ('A1 ' )->getValue ());
103+ self ::assertSame ('=FLOOR(17.8,8) ' , $ sheetOds ->getCell ('B1 ' )->getValue ());
104+ $ spreadsheetOds ->disconnectWorksheets ();
105+
106+ $ spreadsheetXlsx = $ this ->writeAndReload ($ spreadsheet , 'Xlsx ' );
107+ $ sheetXlsx = $ spreadsheetXlsx ->getActiveSheet ();
108+ self ::assertSame ('=CEILING(17.8,8) ' , $ sheetXlsx ->getCell ('A1 ' )->getValue ());
109+ self ::assertSame ('=FLOOR(17.8,8) ' , $ sheetXlsx ->getCell ('B1 ' )->getValue ());
110+ $ spreadsheetXlsx ->disconnectWorksheets ();
111+
112+ $ spreadsheetXls = $ this ->writeAndReload ($ spreadsheet , 'Xls ' );
113+ $ sheetXls = $ spreadsheetXls ->getActiveSheet ();
114+ self ::assertSame ('=CEILING(17.8,8) ' , $ sheetXls ->getCell ('A1 ' )->getValue ());
115+ self ::assertSame ('=FLOOR(17.8,8) ' , $ sheetXls ->getCell ('B1 ' )->getValue ());
116+ $ spreadsheetXls ->disconnectWorksheets ();
117+
118+ $ spreadsheet ->disconnectWorksheets ();
119+ }
91120}
0 commit comments