44use Carbon \Carbon ;
55use App \Modules \Group \Models \Group ;
66use Lorisleiva \Actions \ActionRequest ;
7- use Box \ Spout \ Common \Entity \Style \ Color ;
7+ use OpenSpout \ Common \Entity \Row ;
88use App \Modules \Group \Models \GroupMember ;
9- use Box \Spout \Common \Entity \Style \Border ;
9+ use OpenSpout \Common \Entity \Style \Border ;
10+ use OpenSpout \Common \Entity \Style \BorderPart ;
11+ use OpenSpout \Common \Entity \Style \Color ;
12+ use OpenSpout \Common \Entity \Style \Style ;
1013use Lorisleiva \Actions \Concerns \AsController ;
11- use Box \Spout \Writer \Common \Creator \Style \StyleBuilder ;
12- use Box \Spout \Writer \Common \Creator \Style \BorderBuilder ;
13- use Box \Spout \Writer \Common \Creator \WriterEntityFactory ;
14+ use OpenSpout \Writer \XLSX \Writer ;
1415
1516class SubgroupMembersMakeExcel {
1617 use AsController;
@@ -47,7 +48,7 @@ private function writeAllSheet($writer, $group)
4748 $ byPersonThenGroup = $ allMemberships ->groupBy (['person_id ' , 'group_id ' ]);
4849
4950 // The 'Any active?' column is included to allow for easy filtering in Excel, but it redundant to whether the 'Active Memberships' column is empty or not.
50- $ headerRow = WriterEntityFactory:: createRowFromArray (
51+ $ headerRow = Row:: fromValues (
5152 ['Name ' , 'Email ' , 'Institution ' , 'Active Memberships ' , 'Retired Memberships ' , 'Any active? ' ],
5253 $ this ->getHeaderStyle ()
5354 );
@@ -77,14 +78,14 @@ private function writeAllSheet($writer, $group)
7778 $ active = collect ($ active )->unique ()->values ();
7879 $ retired = collect ($ retired )->unique ()->values ();
7980
80- return WriterEntityFactory:: createRowFromArray ([
81+ return Row:: fromValues ([
8182 $ person ->name ,
8283 $ person ->email ,
8384 ($ person ->institution ) ? $ person ->institution ?->name : null ,
8485 $ active ->join (', ' ),
8586 $ retired ->join (', ' ),
8687 $ active ->isEmpty () ? 'No ' : 'Yes ' ,
87- ], (new StyleBuilder ())->setShouldWrapText (false )-> build ( ));
88+ ], (new Style ())->setShouldWrapText (false ));
8889 })->all ();
8990
9091 $ writer ->addRows ($ rows );
@@ -100,23 +101,23 @@ private function writeGroupSheet($writer, $group) {
100101
101102 $ headerRow = $ this ->getGroupHeaderRow ();
102103
103- $ noWrapStyle = (new StyleBuilder ())->setShouldWrapText (false )-> build ( );
104+ $ noWrapStyle = (new Style ())->setShouldWrapText (false );
104105
105106 $ memberRows = $ group ->members ->map (function ($ member ) use ($ noWrapStyle ) {
106107 $ row = $ this ->getGroupMemberRow ($ member );
107108 $ row ->setStyle ($ noWrapStyle );
108109 return $ row ;
109110 });
110- $ writer
111- ->addRow (WriterEntityFactory:: createRowFromArray ([$ group ->name ]))
112- ->addRow (WriterEntityFactory:: createRowFromArray ([]))
113- ->addRow ($ headerRow, $ this -> getHeaderStyle ())
114- ->addRows ($ memberRows ->toArray ());
111+
112+ $ writer ->addRow (Row:: fromValues ([$ group ->name ]));
113+ $ writer ->addRow (Row:: fromValues ([]));
114+ $ writer ->addRow ($ headerRow);
115+ $ writer ->addRows ($ memberRows ->toArray ());
115116 }
116117
117118 private function getGroupMemberRow (GroupMember $ member )
118119 {
119- return WriterEntityFactory:: createRowFromArray ($ this ->truncateValues ([
120+ return Row:: fromValues ($ this ->truncateValues ([
120121 $ member ->person ->first_name ,
121122 $ member ->person ->last_name ,
122123 $ member ->person ->email ,
@@ -156,7 +157,7 @@ private function truncateValues(Array $array, int $max = 10000): array
156157
157158 private function getGroupHeaderRow ()
158159 {
159- return WriterEntityFactory:: createRowFromArray ([
160+ return Row:: fromValues ([
160161 'first_name ' ,
161162 'last_name ' ,
162163 'email ' ,
@@ -187,20 +188,19 @@ private function makeFileName(Group $group)
187188
188189 private function getXLSXWriter ($ fileName )
189190 {
190- $ writer = WriterEntityFactory:: createXLSXWriter ();
191+ $ writer = new Writer ();
191192 $ writer ->openToFile ($ fileName );
192193 return $ writer ;
193194 }
194195
195196 private function getHeaderStyle ()
196197 {
197- $ border = (new BorderBuilder ())-> setBorderBottom ( Color::BLACK , Border::WIDTH_THIN )-> build ( );
198+ $ border = new Border (new BorderPart (Border:: BOTTOM , Color::BLACK , Border::WIDTH_THIN ));
198199
199- return (new StyleBuilder ())
200+ return (new Style ())
200201 ->setFontBold ()
201202 ->setFontSize (14 )
202- ->setBorder ($ border )
203- ->build ();
203+ ->setBorder ($ border );
204204 }
205205
206206
0 commit comments