С XtraReports из DevExpress вы можете легко выполнить эту задачу:
public static XtraReport CreateReport(object data, string dataMember)
{
XtraReport result = new XtraReport();
result.Name "the_report_name";
result.LoadLayout(@"c:\the_path\the_repx_template.repx");
result.DataSource = data;
if ( !string.IsNullOrEmpty(dataMember) ) { result.DataMember = dataMember; }
return result;
}
Затем вы можете использовать один из следующих методов для экспорта ваш отчет в желаемом формате (применимо к XtraReport класс):
public void ExportToPdf(string path);
public void ExportToRtf(string path);
public void ExportToText(string path);
public void ExportToXls(string path);
public void ExportToXlsx(string path);
public void ExportToHtml(string path);
public void ExportToCsv(string path);
public void ExportToImage(string path, ImageFormat format);
Я прокомментировал это по адресу: Альтернатива Excel в качестве генератора отчетов ASP.Net