Рассматривали ли вы разделить таблицу на несколько страниц?Я делал это в прошлом, измеряя размер страницы и записывая строки в браузер.Каждый раз, когда был достигнут конец страницы, я закрывал записываемую таблицу, затем начинал следующую, писал новый DIV и т. Д. Вам нужно следить за максимальным размером каждого столбца и т. Д. На ходу,но с точки зрения эффективности мы могли бы записать тысячи строк на экран и, как правило, возвращать результаты для больших отчетов менее чем за 60 секунд.
Я также использовал функцию ориентации CSS, доступную в то время только в IE (режим записи: tb-rl) для того, чтобы имитировать страницу, отображаемую в альбомной ориентации, а также содержимое - для этого нужно немного больше думать о том, как вы пишете, НО итоговый контент выглядел очень профессионально.