0

我尝试将 a 导出GridView为 PDF。它给出了错误:

无法将“iTextSharp.text.html.simpleparser.CellWrapper”类型的对象转换为“iTextSharp.text.Paragraph”类型。

它在这里抛出错误

htmlparser.Parse(sr);
4

1 回答 1

0

您应该在数据绑定和解析之前禁用排序和分页。

这是代码:

Response.ContentType = "application/pdf";

Response.AddHeader("content-disposition","attachment;filename=GridViewExport.pdf");

Response.Cache.SetCacheability(HttpCacheability.NoCache);

StringWriter sw = new StringWriter();

HtmlTextWriter hw = new HtmlTextWriter(sw);

GridView1.AllowPaging = false;     <----

GridView1.AllowSorting = false;    <----

GridView1.DataBind();

GridView1.RenderControl(hw);

StringReader sr = new StringReader(sw.ToString());

Document pdfDoc = new Document(PageSize.A4, 10f,10f,10f,0f);

HTMLWorker htmlparser = new HTMLWorker(pdfDoc);

PdfWriter.GetInstance(pdfDoc, Response.OutputStream);

pdfDoc.Open();

htmlparser.Parse(sr);

pdfDoc.Close();

Response.Write(pdfDoc);

Response.End(); 
于 2013-03-28T18:26:49.530 回答