I need suggestion on how to display table if you have more than 50 columns on a page.
In My opinion, no one will benefit from showing 50 columns at once unless you apply a filter to get the needed columns. So my assumption is:
1- You must have the ability to include a checkbox beside every column, in the case to hide or show them.
2-Try to include show modes for the table depending on your frequent usage of the data. What I mean is that you can apply filter every time to get your needed columns, and this filter can be saved and give it a usable name. So the moment you want specific data you can just apply the saved filter. And that's it.
3- Some people try to truncate data in the column in aces its width is huge and the moment you rollover it expands the width of the column. (Not recommended only for a specific type of data).
In the end, the business need will drive you to the best solution.
Best of luck,