Struggling with Angular Table

Hi there. I have received my first angular task. I gotta create a table(see screenshot). It is in Russian, but it doesn’t matter, you dont need to understand the words.
The problem is this: I need to make the first column and the first row fixed when the table is being scrolled.
Also, I need to unite data in groups and make it collapsable(you can see plus and minus signs, that’s it).
And I gotta implement a way to add new data to the table via reactive forms. That can wait, and I will probably handle this myself, but I spend some time thinking about dealing with the table itself.
What is the best approach for this? Do I need to create 2 components with different tables(one for the wrapper, one for the actual table) or it can be solved without creating any additional tables?
And what about collapsable points? Do I need to create separate tables to be able to hide them. What do you think?