Para aqueles que gostam de relatórios em PDF e não querem passar pelo processo de selecionar o formato do relatório a ser exportado no ReportViewer, utilize a função abaixo:
public static void ExportReportToPDF(HttpContext context, Microsoft.Reporting.WebForms.ReportViewer rViewer)
{
Microsoft.Reporting.WebForms.Warning[] warnings;
string[] streamids;
string mimeType = "";
string encoding = "";
string extension = "";
byte[] bytes = rViewer.LocalReport.Render("PDF", null, out mimeType, out encoding, out extension, out streamids, out warnings);
context.Response.Buffer = true;
context.Response.Clear();
context.Response.ContentType = mimeType;
context.Response.AddHeader("content-disposition", "outline; filename=myfile." + extension);
context.Response.BinaryWrite(bytes);
context.Response.Flush();
}
Para exportar para excel, basta alterar de:
byte[] bytes = rViewer.LocalReport.Render("PDF", null, out mimeType, out encoding, out extension, out streamids, out warnings);
para:
byte[] bytes = rViewer.LocalReport.Render("Excel", null, out mimeType, out encoding, out extension, out streamids, out warnings);