Most likely, the user will have a devil of time understanding 30 columns of data, regardless of scrolling.
I would recommend displaying the most fundamental columns (such as name, description, identification numbers - the main material, I hope there are only 10 or less), and then allows the user to turn on or off any columns that they need. A bit like a google square .
JQuery CSS, . Javascript UI, (JQuery UI, YUI, ...)