Export specific format report directly (Local Report)

在按钮单击事件中加入如下代码,可以实现直接导出特定格式的报表文件的功能

 

代码
            string 
orderIDCollection
 = "1,2,3";
            
//new a ReportViewer control
            ReportViewer rview = new Microsoft.Reporting.WebForms.ReportViewer();
            rview.ProcessingMode 
= ProcessingMode.Local;  
            rview.LocalReport.ReportPath 
= "rptOrder.rdlc";
            rview.ExportContentDisposition 
= ContentDisposition.AlwaysAttachment;
            //get datasource 

            List
<OrderInfo> orderList = new List<OrderInfo>(GetOrderList(orderIDCollection));     
    //assign datasource for report
            rview.LocalReport.DataSources.Add(
                
new Microsoft.Reporting.WebForms.ReportDataSource("OrderInfoDataSet",
                orderList));

            rview.LocalReport.Refresh();
        
            
string mimeType, encoding, extension, deviceInfo;
            
string[] streamids;
            Microsoft.Reporting.WebForms.Warning[] warnings;
            
string format = "PDF";
            
//Desired format goes here (PDF, Excel, or Image)
            deviceInfo ="<DeviceInfo>" +"<SimplePageHeaders>True</SimplePageHeaders>" +"</DeviceInfo>"
            
byte[] bytes = rview.LocalReport.Render(format, deviceInfo, out mimeType, out encoding, out extension, out streamids, out warnings); 
            Response.Clear();
            Response.ContentType 
= "application/pdf";
                Response.AddHeader(
"Content-disposition""filename=output.pdf");
           
            Response.OutputStream.Write(bytes, 
0, bytes.Length);
            Response.OutputStream.Flush();
            Response.OutputStream.Close();
            Response.Flush();
            Response.Close();

 

posted on 2011-02-14 11:28  blair0807  阅读(319)  评论(0编辑  收藏  举报