Every data-heavy product has that table.

It begins innocently:

"Just show these records in rows."

Then the requests arrive.

Can users edit cells? Pin columns? Filter 100,000 rows? Navigate without a mouse? Export to CSV? Add formulas? Use it in Angular too?