public partial class _Default : System.Web.UI.Page {
String m_currentReport;
private void saveRptAs(String s_rptType) {
Warning[] warnings; string[] streamids; string mimeType; string encoding; string extension; // string deviceInfo;
byte[] bytes = ReportViewer1.ServerReport.Render( s_rptType, null, out mimeType, out encoding, out extension, out streamids, out warnings);
/* FileStream stream = File.OpenWrite(@"C:\Documents and Settings\michael.shorten\Local Settings\Temp\sample.pdf"); stream.Write(bytes, 0, bytes.Length); stream.Close(); */
Response.Buffer = true; Response.Clear(); Response.ContentType = mimeType; Response.AddHeader("content-disposition", "attachment; filename=sample."+extension); Response.BinaryWrite(bytes); Response.Flush();
}
protected void Page_Load(object sender, EventArgs e) {
if (!(Request.QueryString["rpt"]== null)) { m_currentReport = Request.QueryString["rpt"].ToString(); showReport(m_currentReport); }
}
private void showReport(string sReportPath) {
// Set Processing Mode
ReportViewer1.ProcessingMode = ProcessingMode.Remote;
// Set Report Server and path
ReportViewer1.ServerReport.ReportServerUrl = new Uri(http://localhost/ReportServer); ReportViewer1.ServerReport.ReportPath = sReportPath;
}
protected void btnSaveExcel_Click(object sender, EventArgs e) {
saveRptAs("Excel");
}
protected void btnSavePDF_Click(object sender, EventArgs e) {
saveRptAs("PDF");
}
}
|