@@ -2236,6 +2236,7 @@ def run(self, path, schema_name=None, models=None,
22362236
22372237 i_sheet = 0
22382238 i_sheet_start = 0
2239+ i_sheet_class = {}
22392240 last_sheet_metadata = None
22402241
22412242 data = reader .read_worksheet ('' )
@@ -2247,6 +2248,7 @@ def run(self, path, schema_name=None, models=None,
22472248 data [0 ][0 ])
22482249 data .remove (data [0 ])
22492250
2251+ sheet_class = None
22502252 sheet_id = None
22512253 for i_row , row in enumerate (data ):
22522254 if row and isinstance (row [0 ], str ):
@@ -2255,11 +2257,15 @@ def run(self, path, schema_name=None, models=None,
22552257 if i_sheet > 0 :
22562258 self ._write_model (data [i_sheet_start :i_row ],
22572259 last_sheet_metadata , tmp_dirname , sheet_id , ext )
2260+ last_sheet_metadata = WorkbookReader .parse_worksheet_heading_metadata (
2261+ row [0 ], sheet_name = str (i_sheet + 1 ))
2262+ sheet_class = last_sheet_metadata .get ('type' , '' ) + '-' + last_sheet_metadata .get ('class' , '' )
2263+ if sheet_class not in i_sheet_class :
2264+ i_sheet_class [sheet_class ] = 0
2265+ sheet_id = str (i_sheet_class [sheet_class ] + 1 )
2266+ i_sheet_class [sheet_class ] += 1
22582267 i_sheet += 1
22592268 i_sheet_start = i_row
2260- sheet_id = str (i_sheet + 1 )
2261- last_sheet_metadata = WorkbookReader .parse_worksheet_heading_metadata (
2262- row [0 ], sheet_name = sheet_id )
22632269 if last_sheet_metadata .get ('id' , None ):
22642270 sheet_id = last_sheet_metadata ['id' ]
22652271
0 commit comments