Question

I have some Sql Server database, and I return the data with this method:

protected DataTable GetProductsData()
{
            if (ddTipRaport.SelectedItem.Text == "Toate Cerintele")
            { DataTable dt = new DataTable();
                System.Data.SqlClient.SqlConnection con = new System.Data.SqlClient.SqlConnection(
             "Data Source=BOGDAN-PC\\BOGDAN;Initial Catalog=ePlanning;Integrated Security=SSPI;Connect Timeout=10;TrustServerCertificate=True ");
                System.Data.SqlClient.SqlCommand comm = new System.Data.SqlClient.SqlCommand();
                comm.CommandText = "Select PS.titlu_cerinta as 'Categorie Cerinta', P.id_subcerinta as 'ID',p.titlu_subcerinta as 'Titlu Cerinta',p.data_crearii as 'Data Crearii',p.autor as 'Autor',p.revizuita as'Revizuita',p.revizuitor as'Revizuitor',p.prioritate as 'Prioritate(Importanta)',p.acoperire as 'Stare Acoperire' from subCerinteProiect P inner join cerinteProiect PS on P.id_cerinta=PS.id_cerinta where PS.id_proiect = " + (Request.QueryString["proiect"]).ToString() + " order by PS.id_cerinta desc";
                comm.Connection = con;
                con.Open();
                SqlDataAdapter da = new SqlDataAdapter(comm);

                da.Fill(dt);
                con.Close();
                return dt;
            }

And then I write it all in a document with this method :

  protected void ExportDataTableToWord()
  {
            Response.ClearContent();
            Response.ClearHeaders();
            Response.Buffer = true;
            Response.Charset = "";
            Response.ContentType = "application/vnd.ms-word";
            Response.AddHeader("content-disposition", "attachment;filename=Raport_"+ DateTime.Now.ToShortDateString()+"_"+DateTime.Now.ToShortTimeString()+".doc");

            StringWriter sWriter = new StringWriter();

            HtmlTextWriter hWriter = new HtmlTextWriter(sWriter);

            GridView GridView1 = new GridView();
            GridView1.RowStyle.HorizontalAlign = HorizontalAlign.Center;
            GridView1.DataSource = GetProductsData();
            GridView1.DataBind();
            GridView1.RenderControl(hWriter);

            Response.Write(sWriter.ToString());

            Response.End();
 }

My question is, How to add a Title above the exported gridview, Thanks!

Was it helpful?

Solution

The property you are looking for is called the caption http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.gridview.caption.aspx

E.g.

GridView1.Caption = "StackOverFlow Grid...";

OTHER TIPS

I use this and it worked, try it see whether it's what you want

    string datestyle = @"<style>.date { mso-number-format:'Short Date'; }</style>";
    foreach (GridViewRow oItem in gvEdit.Rows)
        oItem.Cells[4].Attributes.Add("class", "date");
    Response.Clear();
    Response.AddHeader("content-disposition", "attachment; filename=SupplierList.xls");
    Response.ContentType = "application/vnd.xls";
    System.IO.StringWriter WriteItem = new System.IO.StringWriter();
    System.Web.UI.HtmlTextWriter htmlText = new HtmlTextWriter(WriteItem);
    Response.Write(datestyle);
    gvEdit.RenderControl(htmlText);
    Response.Write(WriteItem.ToString());
    Response.End();

I leave the link that helped me

http://forums.asp.net/t/1666667.aspx

http://shawpnendu.blogspot.com/2009/03/export-gridview-data-to-excelword-text.html

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top