@@ -137,22 +137,30 @@ protected function initializeSheet($sheet_name)
137
137
$ sheet ->file_writer ->write ( '<sheetData> ' );
138
138
}
139
139
140
- public function writeSheetHeader ($ sheet_name , array $ header_types , $ format = 'xlsx ' , $ delimiter = '; ' ) {
140
+ public function writeSheetHeader ($ sheet_name , array $ header_types , $ format = 'xlsx ' , $ delimiter = '; ' , $ subheader = NULL ) {
141
141
if (empty ($ sheet_name ) || empty ($ header_types ) || !empty ($ this ->sheets [$ sheet_name ])) {
142
142
return ;
143
143
}
144
144
if ($ format == 'csv ' ) {
145
145
$ this ->writeCSVLine ($ header_types , true , $ delimiter );
146
146
}
147
+ if (!empty ($ subheader )) {
148
+ $ this ->writeSheetRow ($ sheet_name , [' ' ], $ format , $ delimiter );
149
+ $ this ->writeSheetRow ($ sheet_name , [$ subheader ], $ format , $ delimiter );
150
+ $ this ->writeSheetRow ($ sheet_name , [' ' ], $ format , $ delimiter );
151
+ $ start = 3 ;
152
+ } else {
153
+ $ start = 0 ;
154
+ }
147
155
148
156
self ::initializeSheet ($ sheet_name );
149
157
$ sheet = &$ this ->sheets [$ sheet_name ];
150
158
$ sheet ->cell_formats = array_values ($ header_types );
151
159
$ header_row = array_keys ($ header_types );
152
160
153
- $ sheet ->file_writer ->write ('<row collapsed="false" customFormat="false" customHeight="false" hidden="false" ht="12.1" outlineLevel="0" r=" ' . (1 ) . '"> ' );
161
+ $ sheet ->file_writer ->write ('<row collapsed="false" customFormat="false" customHeight="false" hidden="false" ht="12.1" outlineLevel="0" r=" ' . ($ start + 1 ) . '"> ' );
154
162
foreach ($ header_row as $ k => $ v ) {
155
- $ this ->writeCell ($ sheet ->file_writer , 0 , $ k , $ v , 'blackheader ' );
163
+ $ this ->writeCell ($ sheet ->file_writer , $ start , $ k , $ v , 'blackheader ' );
156
164
}
157
165
$ sheet ->file_writer ->write ('</row> ' );
158
166
$ sheet ->row_count ++;
0 commit comments