Export specific format report directly (Local Report)

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

 

ExpandedBlockStart.gif 代码
            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();

 

转载于:https://www.cnblogs.com/hwx0807/archive/2011/02/14/1954169.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值