Well, since you are using tiles, I suspect that this table is included within a cell of another table defined by the main layout of the page. This means that the 115% you defined is 115% of the cell's width, not that of the screen. Since the cell has a defined width, the extra 15% of the table are going to be cropped out.
By the way, why do you WANT a horizontal scroll? This is against all the standards of user friendly sites. If you NEED a scroll bar for a big report for example, I believe putting the table in a different frame/iframe is better than a horizontal scroll bar in the browser. Also, in this case, defining absolute widths for the table and the columns would be a lot better than using percentages of the window size. Imagine if you try to open this page on 800*600 and on 1280*1024 resolutions. Do you need to have 115% for both? Fixed width in this case is a lot better. [ February 14, 2008: Message edited by: Alaa Nassef ]
Oh, I have one more comment. To produce cleaner and smaller code, I suggest you use the <colgroup> and the <col> attributes to configure the way your columns look, so you will not have to set the width for each and every cell. As for the height, you can put it in the <tr> instead of the <td>, also to reduce the amount of code. I also see that all of your rows are of the same height, so you can use css for that, which is better.
I’ve looked at a lot of different solutions, and in my humble opinion Aspose is the way to go. Here’s the link: http://aspose.com