Reportviewer localReport 导出PDF 方法留存(from NET)

private void Export()
        {
            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();

            //Export report file
            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 @ 2014-12-31 10:37  jdsbj170  阅读(1159)  评论(0)    收藏  举报