我有一个名为GridView1的网格视图。我想下载PDF格式的网格视图。为此,我尝试了以下代码。
PDF 文件正在下载但未打开。我收到错误,即Adobe Reader无法打开此文件。
请帮助我。
SqlDataAdapter da = new SqlDataAdapter("select * from info", con);
DataTable dt = new DataTable();
da.Fill(dt);
GridView1.DataSource = dt;
GridView grdview = new GridView();
GridView1.DataBind();
HttpContext.Current.Response.Clear();
HttpContext.Current.Response.AddHeader("content-disposition", "attachment;filename=GridViewExport.pdf");
HttpContext.Current.Response.ContentType = "application/pdf";
StringWriter sw = new StringWriter();
HtmlTextWriter hw = new HtmlTextWriter(sw);
GridView1.RenderControl(hw);
HttpContext.Current.Response.Write(sw.ToString());
HttpContext.Current.Response.Flush();
HttpContext.Current.Response.End();
事实上PDF
文件有自己的格式,但是GridView.RenderControl渲染HTML。您必须使用第三方PDF创建库,它将HTML转换为PDF,或以其他方式创建PDF。