IMHO, you should go for some reporting tool like the free option for ASP.NET that is shipped by MS called Local Reports (RDLC report files) that are displayed on an aspx page through the
ReportViewer control. You could create a report with such table, then bind it through code to the data source, and let the ReportViewer to format it for printing purposes. You'll have more control on the printing process if you use a reporting tool.