我正在开发RDLC报告,并在Asp.net上点击按钮导出到excel功能。下面的代码,我正在使用按钮单击我没有得到http响应请帮助我如何获得http响应 ,谢谢
public void btnExportAll_Click(Object sender, EventArgs e)
{
string Name = ddl.SelectedValue;
string Type = Productddl.SelectedValue;
string Id = ddl.SelectedValue;
DateTime BD = Convert.ToDateTime(txtDate.Text);
DataSet ds = new DataSet();
ds = GetCashDataSource(BD, Name, Convert.ToInt32(Id), Flag);
ReportViewer viewer = new ReportViewer();
Warning[] warnings;
string[] streamids;
string mimeType;
string encoding;
string extension;
string filename;
viewer.LocalReport.ReportPath =
Server.MapPath("~/RDLCReports/ReportExport.rdlc");
viewer.LocalReport.DataSources.Clear();
viewer.LocalReport.DataSources.Add(new
ReportDataSource("Balance", ds.Tables[0]));
viewer.LocalReport.DataSources.Add(new
ReportDataSource("Name", ds.Tables[1]));
viewer.LocalReport.DataSources.Add(new
ReportDataSource("Amount", ds.Tables[2]));
viewer.LocalReport.DataSources.Add(new ReportDataSource("Amount",
ds.Tables[3]));
viewer.LocalReport.DataSources.Add(new ReportDataSource("GrandTotal", ds.Tables[4]));
viewer.LocalReport.DataSources.Add(new ReportDataSource("Diff", ds.Tables[5]));
viewer.LocalReport.DataSources.Add(new ReportDataSource("Name", ds.Tables[6]));
viewer.LocalReport.EnableHyperlinks = true;
string Code = "10,12";
ReportParameter rp1 = new ReportParameter("BusinessDate", txtDate.Text, false);
ReportParameter rp2 = new ReportParameter("DropDown", ddl.SelectedValue, false);
ReportParameter rp3 = new ReportParameter("Id", Code, false);
viewer.LocalReport.SetParameters(new ReportParameter[] { rp1, rp2, rp3 })
byte[] bytes = viewer.LocalReport.Render(
"Excel", null, out mimeType, out encoding,
out extension,
out streamids, out warnings);
filename = string.Format("{0}.{1}", "ExportToExcel", "xls");
Response.Buffer = true;
Response.Clear();
Response.ContentType = mimeType;
Response.AddHeader("Content-Disposition", "attachment;filename=" + filename);
try
{
Response.BinaryWrite(bytes);
}
catch (Exception ex)
{
Page.ClientScript.RegisterStartupScript(this.GetType(), "ErrorAlert", "alert('Error while generating PDF.');", true);
Console.WriteLine(ex.StackTrace);
}
Response.WriteFile(Server.MapPath("~/RDLCReports/ReportExport.rdlc"));
Response.End();
viewer.LocalReport.Refresh();
}