By the time you've gotten this far, you've got yourself a table, but it's really dense with data and your column headers are huge and, well, it's just unwieldy working under these slavish "horizontal text" conditions.
Naturally, you're thinking that being able to switch your column headers vertical, to rotate the whole shebang, is the best idea.
Sure, you've seen vertically rotated columns, but remember -- you had to crane your neck a bit to read it. Humans don't read sideways very well. We just don't.
We've grown used to seeing vertically rotated text on columns because books (also historically limited on space) use them, too.
Now's a chance to fannybang the dominant turn-your-head paradigm, by taking a hard look at how you format your information, considering that it will be read by human beings who read horizontally (well, at least the ones I tend to code for).
Consider formatting your information to take advantage of the fact that people read horizontally.
Also, remember that you can use other ways of grouping your data, such as color. People follow color very well (except those people that are colorblind, in which case they follow shades just fine, most of the time).
With that in mind, here's a listing, showing a table of data, for which all data is relatively complicated.
1. Color is used for grouping.
2. If converted to grayscale, the table is still completely readable.
3. Many more elements can be added to either side of the table without appreciably increasing its size.
4. You get to find out what Uhura's first name is.