After running into the same issues quite recently at work, I followed these steps to reduce horizontal size, and try to adapt the content to smaller (or wide enough) screens:
- Reduce font size from 1em to 0.9em. The change is slim, but enough to reduce up to 2-3 columns when you have a lot of them.
- Analyse exactly the priority of each columns, and start hiding them according to available horizontal space.
- Once you reach a certain point of "compression" of your table, and only if you have much more columns than rows (which was my case) you can consider inverting the axis of the table.
As stated in the possible duplicates of this post, it is quite uncommon for tables to necessarily require to display all the columns simultaneously.