Export gridview to excel,word,pdf
public override void VerifyRenderingInServerForm(Control control)
{
/* Verifies that the control is rendered */
}
protected override void Render(HtmlTextWriter writer)
{
try
{
if (Page != null)
{
if (bexport)
{
if (drpexpoptions.SelectedItem.Text == "Word")
{
grdshow.Visible = true;
this.bexport = false;
Response.Clear();
Response.Buffer = true;
DateTime ct = DateTime.Now;
string currentdate = Convert.ToString(ct);
string companyname = getCompanyname();
grdshow.AllowPaging = false;
generateregister();
this.EnableViewState = false;
Response.AddHeader("content-disposition",
"attachment;filename=Register" + DateTime.Now.ToString("dd/MM/yyyy hh:mm:ss tt") + ".doc");
Response.Charset = "";
Response.ContentType = "application/vnd.ms-word ";
HttpContext.Current.Response.Write("
" + companyname + "
");StringWriter sw = new StringWriter();
HtmlTextWriter hw = new HtmlTextWriter(sw);
grdshow.RenderControl(hw);
Response.Output.Write(sw.ToString() + "
Register Date : " + DateTime.Now.ToString("dd/MM/yyyy hh:mm:ss tt") + "
" + "
Register Generated By :" + SPContext.Current.Web.CurrentUser.Name + "
");Response.Flush();
Response.End();
}
else if (drpexpoptions.SelectedItem.Text == "Excel")
{
grdshow.Visible = true;
this.bexport = false;
Page.Response.Clear();
Page.Response.Buffer = true;
Page.Response.ContentType = "application/ms-excel";
Page.Response.AddHeader("content-disposition", "attachment; filename=Register" + DateTime.Now.ToString("dd/MM/yyyy hh:mm:ss tt") + ".xls");
Page.Response.Charset = "UTF-8";
DateTime ct = DateTime.Now;
string currentdate = Convert.ToString(ct);
string companyname = getCompanyname();
HttpContext.Current.Response.Write("
" + companyname + "
");this.EnableViewState = false;
grdshow.AllowPaging = false;
grdshow.HeaderStyle.HorizontalAlign = HorizontalAlign.Center;
grdshow.RowStyle.HorizontalAlign = HorizontalAlign.Center;
generateregister();
System.IO.StringWriter sw = new System.IO.StringWriter();
System.Web.UI.HtmlTextWriter htw = new System.Web.UI.HtmlTextWriter(sw);
grdshow.RenderControl(htw);
Page.Response.Write(sw.ToString() + "
Register Date : " + DateTime.Now.ToString("dd/MM/yyyy hh:mm:ss tt") + "
" + "
Register Generated By :" + SPContext.Current.Web.CurrentUser.Name + "
");Page.Response.End();
}
else if (drpexpoptions.SelectedItem.Text == "PDF")
{
grdshow.Visible = true;
this.bexport = false;
this.EnableViewState = false;
Page.Response.Clear();
Page.Response.Buffer = true;
Response.ContentType = "application/pdf";
Response.AddHeader("content-disposition",
"attachment;filename=Register" + DateTime.Now.ToString("dd/MM/yyyy hh:mm:ss tt") + ".pdf");
DateTime ct = DateTime.Now;
string currentdate = Convert.ToString(ct);
string companyname = getCompanyname();
Response.Cache.SetCacheability(HttpCacheability.NoCache);
StringWriter sw = new StringWriter();
HtmlTextWriter hw = new HtmlTextWriter(sw);
grdshow.AllowPaging = false;
grdshow.Font.Size = 4;
generateregister();
grdshow.RenderControl(hw);
StringReader sr = new StringReader("
" + companyname + "
Register Date : " + DateTime.Now.ToString("dd/MM/yyyy hh:mm:ss tt") + "
" + "
Register Generated By :" + SPContext.Current.Web.CurrentUser.Name + "
");iTextSharp.text.Document pdfDoc = new iTextSharp.text.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.Flush();
Response.End();
}
}
}
base.Render(writer);
}
catch (Exception ex)
{
pnlerr.Controls.Add(new LiteralControl("Error in Export to Excel Render Function" + ex.Message));
pnlerr.Controls.Add(new LiteralControl(""));
}
}
void btnexport_Click(object sender, EventArgs e)
{
this.export = true;
}
this needs itextsharp 4.1.2.0
( your gmail has this itextsharp dll (for my reference))
No comments:
Post a Comment