This should be possible with the out of the box excel exporter. You'd need to set 12 associations and create individual sheets using each.
I think the two things that you are trying to do is be able to dynamically change the names of the excel tabs and control how many sheets are exported? And your data is separated by separate entities that are associated to the report parent?
Here is a microflow where I have a template with 3 tabs setup, and if the data doesnt exist for one of the tabs, I remove the sheet from the template before exporting. Also if the data does exist, I change the excel sheet tab name.
The domain model that I used was this. Hopefully your structure is similar.
Also here is the test project where I did the example.