This is an area where I appreciate Angular and Angular Material. Angular Material provides the "easy to make table", which itself is simply a styled version of the underlying Angular CDK library. CDK provides unstyled building blocks for the Material components, which makes it significantly easier to roll your own.