2010-10-27 41 views

回答

0

沒有什麼內置的基類庫.NET允許你生成PDF文件LES。您可能需要使用第三方庫,如iTextSharp

0

我推薦使用Crystal Reports。它不會允許您直接導出gridview,但可以提取並顯示相同的數據。

0

您必須添加(iTextSharp的)的這個參考..

public override void VerifyRenderingInServerForm(Control control) 
    { 
     /* Verifies that the control is rendered */ 
    } 
    protected void GeneratePDF_Click(object sender, EventArgs e) 
    { 
     Response.ContentType = "application/pdf"; 
     Response.AddHeader("content-disposition", "attachment;filename=UserDetails.pdf"); 
     Response.Cache.SetCacheability(HttpCacheability.NoCache); 
     StringWriter sw = new StringWriter(); 
     HtmlTextWriter hw = new HtmlTextWriter(sw); 
     GridView1.AllowPaging = false; 
     GridView1.DataBind(); 
     GridView1.RenderControl(hw); 
     GridView1.HeaderRow.Style.Add("width", "15%"); 
     GridView1.HeaderRow.Style.Add("font-size", "10px"); 
     GridView1.Style.Add("text-decoration", "none"); 
     GridView1.Style.Add("font-family", "Arial, Helvetica, sans-serif;"); 
     GridView1.Style.Add("font-size", "8px"); 
     StringReader sr = new StringReader(sw.ToString()); 
     Document pdfDoc = new Document(PageSize.A2, 7f, 7f, 7f, 0f); 
     HTMLWorker htmlparser = new HTMLWorker(pdfDoc); 
     PdfWriter.GetInstance(pdfDoc, Response.OutputStream); 
     pdfDoc.Open(); 
     htmlparser.Parse(sr); 
     pdfDoc.Close(); 
     Response.Write(pdfDoc); 
     Response.End(); 
    }