Note that there are some explanatory texts on larger screens.

plurals
  1. POWhy the table.addcell(cell) will just display html code int iTextSharp
    text
    copied!<p>I'm currently trying to export gridview to pdf file.</p> <p>My code is:</p> <pre><code>public void GvExportPDF(GridView gvListing, string fileName,int TotalColumns) { http.Response.ContentType = "application/pdf"; http.Response.AddHeader("content-disposition", "attachment;filename= " + fileName + ".pdf"); http.Response.Cache.SetCacheability(HttpCacheability.NoCache); StringWriter sw = new StringWriter(); HtmlTextWriter hw = new HtmlTextWriter(sw); gvListing.AllowPaging = false; PdfPTable table = new PdfPTable(TotalColumns); foreach (GridViewRow rows in gvListing.Rows) { if (rows.RowType == DataControlRowType.Header) { for (int i = 0; i &lt; rows.Cells.Count; i++) { PdfPCell cell = new PdfPCell(); cell.Phrase = new Phrase(getCellText(rows.Cells[i])); table.AddCell(cell); } } else if (rows.RowType == DataControlRowType.DataRow) { System.Web.UI.WebControls.Image Image1 = (System.Web.UI.WebControls.Image)rows.FindControl("Image1"); string url = Image1.ImageUrl; Image1.Visible = false; iTextSharp.text.Image jpg = iTextSharp.text.Image.GetInstance(new Uri(url)); jpg.ScaleToFit(8f, 10f); jpg.Border = Rectangle.NO_BORDER; for (int i = 0; i &lt; rows.Cells.Count; i++) { if (i == 0) table.AddCell(jpg); else { PdfPCell cell = new PdfPCell(new Phrase(HttpContext.Current.Server.HtmlDecode(getCellText(rows.Cells[i])))); table.AddCell(cell); } } } } //gvListing.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, http.Response.OutputStream); try { pdfDoc.Open(); pdfDoc.Add(table); } catch (DocumentException dex) { //http.Response.Write(dex.Message); System.Diagnostics.Debug.WriteLine(dex.Message); } catch (IOException ioex) { //http.Response.Write(ioex.Message); System.Diagnostics.Debug.WriteLine(ioex.Message); } catch (Exception ex) { //http.Response.Write(ex.Message); System.Diagnostics.Debug.WriteLine(ex.Message); } finally { pdfDoc.Close(); //http.Response.Write(StyleOfExportTable()); http.Response.Output.Write(pdfDoc); http.Response.End(); } } private string getCellText(TableCell cell) { StringBuilder sb = new StringBuilder(cell.Text); foreach (Control c in cell.Controls) { if (c.Visible) { string controlText = getTextProperty(c); if (controlText != null) { if (sb.Length &gt; 0) sb.Append(" "); sb.Append(controlText); } } } return sb.ToString(); } private string getTextProperty(object o) { PropertyInfo propertyInfo = o.GetType().GetProperty("Text"); if (propertyInfo != null) { MethodInfo getMethod = propertyInfo.GetGetMethod(); if (getMethod != null) { return (string)getMethod.Invoke(o, null); } } return string.Empty; } </code></pre> <p>It can export pdf and can export the total column I want but besides the image, others cell just display the html code <code>&lt;table&gt;&lt;tr&gt;&lt;td&gt;text&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</code>. </p> <p>What is this and how can I solve it?</p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload