У меня есть представление сетки на моей странице, и я хочу экспортировать его в лист Excel,
Ниже приведен код, который я написал для выполнения этой задачи, здесь я уже передаю набор данных методу привязки сетки и btnExcelExport
- это кнопка, которая будет экспортировать содержимое Grid в лист Excel: -
private void BindGridView(DataSet ds)
{
if (ds.Tables.Count > 0)
{
if (ds.Tables[0].Rows.Count > 0)
{
GVUserReport.DataSource = ds;
GVUserReport.DataBind();
btnExcelExport.Visible = true;
}
}
}
protected void btnExcelExport_Click(object sender, EventArgs e)
{
Response.Clear();
Response.AddHeader("content-disposition","attachment;filename=FileName.xls");
Response.Charset = "";
Response.Cache.SetCacheability(HttpCacheability.NoCache);
Response.ContentType = "application/vnd.xls";
System.IO.StringWriter stringWrite = new System.IO.StringWriter();
System.Web.UI.HtmlTextWriter htmlWrite = new HtmlTextWriter(stringWrite);
GVUserReport.RenderControl(htmlWrite);
Response.Write(stringWrite.ToString());
Response.End();
}
public override void VerifyRenderingInServerForm(Control control)
{
return;
}
Теперь, когда я отлаживаю, я обнаружил, что сетка успешно привязана, но при попытке экспортировать ее в Excel я получаю эту ошибку:
"Ошибка выполнения Microsoft JScript: Sys.WebForms.PageRequestManagerParserErrorException: сообщение полученные с сервера не могут быть проанализированы."