{"id":42,"date":"2012-04-14T14:41:25","date_gmt":"2012-04-14T17:41:25","guid":{"rendered":"http:\/\/www.ctasoftware.com.br\/blog\/?p=42"},"modified":"2012-04-14T14:41:25","modified_gmt":"2012-04-14T17:41:25","slug":"classe-para-exportar-gridview-para-excel","status":"publish","type":"post","link":"https:\/\/www.ctasoftware.com.br\/blog\/classe-para-exportar-gridview-para-excel\/","title":{"rendered":"Classe para exportar GridView para Excel"},"content":{"rendered":"<p>Essa semana tive que exportar os dados de uma GridView para uma planilha Excel, bom&#8230; sabia que n\u00e3o era algo muito complicado, mas tamb\u00e9m nunca tinha feito, sendo assim realizei uma busca no grande mestre Google e encontrei uma classe que me atendeu muito bem. F\u00e1cil e descomplicado.<\/p>\n<blockquote><p>using<\/p>\n<p>using <span style=\"font-size: x-small;\">System;<\/span><\/p>\n<p>using <span style=\"font-size: x-small;\">System.Data;<\/span><\/p>\n<p>using\u00a0<span style=\"font-size: x-small;\">System.Configuration;<\/span><\/p>\n<p>using\u00a0<span style=\"font-size: x-small;\">System.IO;<\/span><\/p>\n<p>using\u00a0<span style=\"font-size: x-small;\">System.Web;<\/span><\/p>\n<p>using\u00a0<span style=\"font-size: x-small;\">System.Web.Security;<\/span><\/p>\n<p>using\u00a0<span style=\"font-size: x-small;\">System.Web.UI;<\/span><\/p>\n<p>using\u00a0<span style=\"font-size: x-small;\">System.Web.UI.WebControls;<\/span><\/p>\n<p>using\u00a0<span style=\"font-size: x-small;\">System.Web.UI.WebControls.WebParts;<\/span><\/p>\n<p>using <span style=\"font-size: x-small;\">System.Web.UI.HtmlControls;<\/span><\/p>\n<p>namespace <span style=\"font-size: x-small;\">SGM.CTA.Web.UI<\/span><\/p>\n<p>{<\/p>\n<p><span style=\"color: #0000ff; font-size: x-small;\"><span style=\"color: #0000ff; font-size: x-small;\">public<\/span><\/span><span style=\"color: #0000ff; font-size: x-small;\"><span style=\"color: #0000ff; font-size: x-small;\">class<\/span><\/span><span style=\"color: #2b91af; font-size: x-small;\"><span style=\"color: #2b91af; font-size: x-small;\">GridViewExportUtil<\/span><\/span><\/p>\n<p>{<\/p>\n<p><span style=\"color: #808080; font-size: x-small;\"><span style=\"color: #808080; font-size: x-small;\">\/\/\/<\/span><\/span><span style=\"color: #808080; font-size: x-small;\"><span style=\"color: #808080; font-size: x-small;\">&lt;summary&gt;<\/span><\/span><\/p>\n<p><span style=\"color: #808080; font-size: x-small;\"><span style=\"color: #808080; font-size: x-small;\">\/\/\/<\/span><\/span><span style=\"color: #008000; font-size: x-small;\"><span style=\"color: #008000; font-size: x-small;\"> Realiza a exportao de grid para Excell<\/span><\/span><\/p>\n<p><span style=\"color: #808080; font-size: x-small;\"><span style=\"color: #808080; font-size: x-small;\">\/\/\/<\/span><\/span><span style=\"color: #808080; font-size: x-small;\"><span style=\"color: #808080; font-size: x-small;\">&lt;\/summary&gt;<\/span><\/span><\/p>\n<p><span style=\"color: #808080; font-size: x-small;\"><span style=\"color: #808080; font-size: x-small;\">\/\/\/<\/span><\/span><span style=\"color: #808080; font-size: x-small;\"><span style=\"color: #808080; font-size: x-small;\">&lt;param name=&#8221;fileName&#8221;&gt;<\/span><\/span><span style=\"color: #008000; font-size: x-small;\"><span style=\"color: #008000; font-size: x-small;\">Nome do Arquivo<\/span><\/span><span style=\"color: #808080; font-size: x-small;\"><span style=\"color: #808080; font-size: x-small;\">&lt;\/param&gt;<\/span><\/span><\/p>\n<p><span style=\"color: #808080; font-size: x-small;\"><span style=\"color: #808080; font-size: x-small;\">\/\/\/<\/span><\/span><span style=\"color: #808080; font-size: x-small;\"><span style=\"color: #808080; font-size: x-small;\">&lt;param name=&#8221;gv&#8221;&gt;<\/span><\/span><span style=\"color: #008000; font-size: x-small;\"><span style=\"color: #008000; font-size: x-small;\">GridView preenchida com os dados necessrios<\/span><\/span><span style=\"color: #808080; font-size: x-small;\"><span style=\"color: #808080; font-size: x-small;\">&lt;\/param&gt;<\/span><\/span><\/p>\n<p><span style=\"color: #0000ff; font-size: x-small;\"><span style=\"color: #0000ff; font-size: x-small;\">public<\/span><\/span><span style=\"color: #0000ff; font-size: x-small;\"><span style=\"color: #0000ff; font-size: x-small;\">static<\/span><\/span><span style=\"color: #0000ff; font-size: x-small;\"><span style=\"color: #0000ff; font-size: x-small;\">void<\/span><\/span><span style=\"font-size: x-small;\"> Export(<\/span><span style=\"color: #0000ff; font-size: x-small;\"><span style=\"color: #0000ff; font-size: x-small;\">string<\/span><\/span><span style=\"font-size: x-small;\"> fileName, GridView gv)<\/span><\/p>\n<p>{<\/p>\n<p>HttpContext.Current.Response.Clear();<\/p>\n<p>HttpContext.Current.Response.AddHeader(<\/p>\n<p><span style=\"color: #a31515; font-size: x-small;\"><span style=\"color: #a31515; font-size: x-small;\">&#8220;content-disposition&#8221;<\/span><\/span><span style=\"font-size: x-small;\">, <\/span><span style=\"color: #0000ff; font-size: x-small;\"><span style=\"color: #0000ff; font-size: x-small;\">string<\/span><\/span><span style=\"font-size: x-small;\">.Format(<\/span><span style=\"color: #a31515; font-size: x-small;\"><span style=\"color: #a31515; font-size: x-small;\">&#8220;attachment; filename={0}&#8221;<\/span><\/span><span style=\"font-size: x-small;\">, fileName));<\/span><\/p>\n<p>HttpContext.Current.Response.ContentType =<\/p>\n<p><span style=\"color: #a31515; font-size: x-small;\"><span style=\"color: #a31515; font-size: x-small;\">&#8220;application\/ms-excel&#8221;<\/span><\/span><span style=\"font-size: x-small;\">;<\/span><\/p>\n<p><span style=\"color: #0000ff; font-size: x-small;\"><span style=\"color: #0000ff; font-size: x-small;\">using<\/span><\/span><span style=\"font-size: x-small;\"> (<\/span><span style=\"color: #2b91af; font-size: x-small;\"><span style=\"color: #2b91af; font-size: x-small;\">StringWriter<\/span><\/span><span style=\"font-size: x-small;\"> sw = <\/span><span style=\"color: #0000ff; font-size: x-small;\"><span style=\"color: #0000ff; font-size: x-small;\">new<\/span><\/span><span style=\"color: #2b91af; font-size: x-small;\"><span style=\"color: #2b91af; font-size: x-small;\">StringWriter<\/span><\/span><span style=\"font-size: x-small;\">())<\/span><\/p>\n<p>{<\/p>\n<p><span style=\"color: #0000ff; font-size: x-small;\"><span style=\"color: #0000ff; font-size: x-small;\">using<\/span><\/span><span style=\"font-size: x-small;\"> (HtmlTextWriter htw = <\/span><span style=\"color: #0000ff; font-size: x-small;\"><span style=\"color: #0000ff; font-size: x-small;\">new<\/span><\/span><span style=\"font-size: x-small;\"> HtmlTextWriter(sw))<\/span><\/p>\n<p>{<\/p>\n<p><span style=\"color: #008000; font-size: x-small;\"><span style=\"color: #008000; font-size: x-small;\">\/\/\u00a0 Create a form to contain the grid<\/span><\/span><\/p>\n<p>Table table =<\/p>\n<p><span style=\"color: #0000ff; font-size: x-small;\"><span style=\"color: #0000ff; font-size: x-small;\">new<\/span><\/span><span style=\"font-size: x-small;\"> Table();<\/span><\/p>\n<p><span style=\"color: #008000; font-size: x-small;\"><span style=\"color: #008000; font-size: x-small;\">\/\/\u00a0 add the header row to the table<\/span><\/span><\/p>\n<p><span style=\"color: #0000ff; font-size: x-small;\"><span style=\"color: #0000ff; font-size: x-small;\">if<\/span><\/span><span style=\"font-size: x-small;\"> (gv.HeaderRow != <\/span><span style=\"color: #0000ff; font-size: x-small;\"><span style=\"color: #0000ff; font-size: x-small;\">null<\/span><\/span><span style=\"font-size: x-small;\">)<\/span><\/p>\n<p>{<\/p>\n<p><span style=\"color: #008000; font-size: x-small;\"><span style=\"color: #008000; font-size: x-small;\">\/\/adiciona a cor<\/span><\/span><\/p>\n<p>gv.HeaderRow.BackColor = System.Drawing.Color.AliceBlue;<\/p>\n<p><span style=\"color: #008000; font-size: x-small;\"><span style=\"color: #008000; font-size: x-small;\">\/\/Prepara informao header<\/span><\/span><\/p>\n<p>GridViewExportUtil.PrepareControlForExport(gv.HeaderRow);<\/p>\n<p>table.Rows.Add(gv.HeaderRow);<\/p>\n<p>}<\/p>\n<p><span style=\"color: #008000; font-size: x-small;\"><span style=\"color: #008000; font-size: x-small;\">\/\/\u00a0 add each of the data rows to the table<\/span><\/span><\/p>\n<p><span style=\"color: #0000ff; font-size: x-small;\"><span style=\"color: #0000ff; font-size: x-small;\">foreach<\/span><\/span><span style=\"font-size: x-small;\"> (GridViewRow row <\/span><span style=\"color: #0000ff; font-size: x-small;\"><span style=\"color: #0000ff; font-size: x-small;\">in<\/span><\/span><span style=\"font-size: x-small;\"> gv.Rows)<\/span><\/p>\n<p>{<\/p>\n<p>GridViewExportUtil.PrepareControlForExport(row);<\/p>\n<p>table.Rows.Add(row);<\/p>\n<p>}<\/p>\n<p><span style=\"color: #008000; font-size: x-small;\"><span style=\"color: #008000; font-size: x-small;\">\/\/\u00a0 add the footer row to the table<\/span><\/span><\/p>\n<p><span style=\"color: #0000ff; font-size: x-small;\"><span style=\"color: #0000ff; font-size: x-small;\">if<\/span><\/span><span style=\"font-size: x-small;\"> (gv.FooterRow != <\/span><span style=\"color: #0000ff; font-size: x-small;\"><span style=\"color: #0000ff; font-size: x-small;\">null<\/span><\/span><span style=\"font-size: x-small;\">)<\/span><\/p>\n<p>{<\/p>\n<p>GridViewExportUtil.PrepareControlForExport(gv.FooterRow);<\/p>\n<p>table.Rows.Add(gv.FooterRow);<\/p>\n<p>}<\/p>\n<p><span style=\"color: #008000; font-size: x-small;\"><span style=\"color: #008000; font-size: x-small;\">\/\/\u00a0 render the table into the htmlwriter<\/span><\/span><\/p>\n<p>table.RenderControl(htw);<\/p>\n<p><span style=\"color: #008000; font-size: x-small;\"><span style=\"color: #008000; font-size: x-small;\">\/\/\u00a0 render the htmlwriter into the response<\/span><\/span><\/p>\n<p>HttpContext.Current.Response.Write(sw.ToString());<\/p>\n<p>HttpContext.Current.Response.End();<\/p>\n<p>}<\/p>\n<p>}<\/p>\n<p>}<\/p>\n<p><span style=\"color: #808080; font-size: x-small;\"><span style=\"color: #808080; font-size: x-small;\">\/\/\/<\/span><\/span><span style=\"color: #808080; font-size: x-small;\"><span style=\"color: #808080; font-size: x-small;\">&lt;summary&gt;<\/span><\/span><\/p>\n<p><span style=\"color: #808080; font-size: x-small;\"><span style=\"color: #808080; font-size: x-small;\">\/\/\/<\/span><\/span><span style=\"color: #008000; font-size: x-small;\"><span style=\"color: #008000; font-size: x-small;\"> Replace any of the contained controls with literals<\/span><\/span><\/p>\n<p><span style=\"color: #808080; font-size: x-small;\"><span style=\"color: #808080; font-size: x-small;\">\/\/\/<\/span><\/span><span style=\"color: #808080; font-size: x-small;\"><span style=\"color: #808080; font-size: x-small;\">&lt;\/summary&gt;<\/span><\/span><\/p>\n<p><span style=\"color: #808080; font-size: x-small;\"><span style=\"color: #808080; font-size: x-small;\">\/\/\/<\/span><\/span><span style=\"color: #808080; font-size: x-small;\"><span style=\"color: #808080; font-size: x-small;\">&lt;param name=&#8221;control&#8221;&gt;&lt;\/param&gt;<\/span><\/span><\/p>\n<p><span style=\"color: #0000ff; font-size: x-small;\"><span style=\"color: #0000ff; font-size: x-small;\">private<\/span><\/span><span style=\"color: #0000ff; font-size: x-small;\"><span style=\"color: #0000ff; font-size: x-small;\">static<\/span><\/span><span style=\"color: #0000ff; font-size: x-small;\"><span style=\"color: #0000ff; font-size: x-small;\">void<\/span><\/span><span style=\"font-size: x-small;\"> PrepareControlForExport(Control control)<\/span><\/p>\n<p>{<\/p>\n<p><span style=\"color: #0000ff; font-size: x-small;\"><span style=\"color: #0000ff; font-size: x-small;\">for<\/span><\/span><span style=\"font-size: x-small;\"> (<\/span><span style=\"color: #0000ff; font-size: x-small;\"><span style=\"color: #0000ff; font-size: x-small;\">int<\/span><\/span><span style=\"font-size: x-small;\"> i = 0; i &lt; control.Controls.Count; i++)<\/span><\/p>\n<p>{<\/p>\n<p>Control current = control.Controls[i];<\/p>\n<p><span style=\"color: #0000ff; font-size: x-small;\"><span style=\"color: #0000ff; font-size: x-small;\">if<\/span><\/span><span style=\"font-size: x-small;\"> (current <\/span><span style=\"color: #0000ff; font-size: x-small;\"><span style=\"color: #0000ff; font-size: x-small;\">is<\/span><\/span><span style=\"font-size: x-small;\"> LinkButton)<\/span><\/p>\n<p>{<\/p>\n<p>control.Controls.Remove(current);<\/p>\n<p>control.Controls.AddAt(i,<\/p>\n<p><span style=\"color: #0000ff; font-size: x-small;\"><span style=\"color: #0000ff; font-size: x-small;\">new<\/span><\/span><span style=\"font-size: x-small;\"> LiteralControl((current <\/span><span style=\"color: #0000ff; font-size: x-small;\"><span style=\"color: #0000ff; font-size: x-small;\">as<\/span><\/span><span style=\"font-size: x-small;\"> LinkButton).Text));<\/span><\/p>\n<p>}<\/p>\n<p><span style=\"color: #0000ff; font-size: x-small;\"><span style=\"color: #0000ff; font-size: x-small;\">else<\/span><\/span><span style=\"color: #0000ff; font-size: x-small;\"><span style=\"color: #0000ff; font-size: x-small;\">if<\/span><\/span><span style=\"font-size: x-small;\"> (current <\/span><span style=\"color: #0000ff; font-size: x-small;\"><span style=\"color: #0000ff; font-size: x-small;\">is<\/span><\/span><span style=\"font-size: x-small;\"> ImageButton)<\/span><\/p>\n<p>{<\/p>\n<p>control.Controls.Remove(current);<\/p>\n<p>control.Controls.AddAt(i,<\/p>\n<p><span style=\"color: #0000ff; font-size: x-small;\"><span style=\"color: #0000ff; font-size: x-small;\">new<\/span><\/span><span style=\"font-size: x-small;\"> LiteralControl((current <\/span><span style=\"color: #0000ff; font-size: x-small;\"><span style=\"color: #0000ff; font-size: x-small;\">as<\/span><\/span><span style=\"font-size: x-small;\"> ImageButton).AlternateText));<\/span><\/p>\n<p>}<\/p>\n<p><span style=\"color: #0000ff; font-size: x-small;\"><span style=\"color: #0000ff; font-size: x-small;\">else<\/span><\/span><span style=\"color: #0000ff; font-size: x-small;\"><span style=\"color: #0000ff; font-size: x-small;\">if<\/span><\/span><span style=\"font-size: x-small;\"> (current <\/span><span style=\"color: #0000ff; font-size: x-small;\"><span style=\"color: #0000ff; font-size: x-small;\">is<\/span><\/span><span style=\"font-size: x-small;\"> HyperLink)<\/span><\/p>\n<p>{<\/p>\n<p>control.Controls.Remove(current);<\/p>\n<p>control.Controls.AddAt(i,<\/p>\n<p><span style=\"color: #0000ff; font-size: x-small;\"><span style=\"color: #0000ff; font-size: x-small;\">new<\/span><\/span><span style=\"font-size: x-small;\"> LiteralControl((current <\/span><span style=\"color: #0000ff; font-size: x-small;\"><span style=\"color: #0000ff; font-size: x-small;\">as<\/span><\/span><span style=\"font-size: x-small;\"> HyperLink).Text));<\/span><\/p>\n<p>}<\/p>\n<p><span style=\"color: #0000ff; font-size: x-small;\"><span style=\"color: #0000ff; font-size: x-small;\">else<\/span><\/span><span style=\"color: #0000ff; font-size: x-small;\"><span style=\"color: #0000ff; font-size: x-small;\">if<\/span><\/span><span style=\"font-size: x-small;\"> (current <\/span><span style=\"color: #0000ff; font-size: x-small;\"><span style=\"color: #0000ff; font-size: x-small;\">is<\/span><\/span><span style=\"font-size: x-small;\"> DropDownList)<\/span><\/p>\n<p>{<\/p>\n<p>control.Controls.Remove(current);<\/p>\n<p>control.Controls.AddAt(i,<\/p>\n<p><span style=\"color: #0000ff; font-size: x-small;\"><span style=\"color: #0000ff; font-size: x-small;\">new<\/span><\/span><span style=\"font-size: x-small;\"> LiteralControl((current <\/span><span style=\"color: #0000ff; font-size: x-small;\"><span style=\"color: #0000ff; font-size: x-small;\">as<\/span><\/span><span style=\"font-size: x-small;\"> DropDownList).SelectedItem.Text));<\/span><\/p>\n<p>}<\/p>\n<p><span style=\"color: #0000ff; font-size: x-small;\"><span style=\"color: #0000ff; font-size: x-small;\">else<\/span><\/span><span style=\"color: #0000ff; font-size: x-small;\"><span style=\"color: #0000ff; font-size: x-small;\">if<\/span><\/span><span style=\"font-size: x-small;\"> (current <\/span><span style=\"color: #0000ff; font-size: x-small;\"><span style=\"color: #0000ff; font-size: x-small;\">is<\/span><\/span><span style=\"font-size: x-small;\"> CheckBox)<\/span><\/p>\n<p>{<\/p>\n<p>control.Controls.Remove(current);<\/p>\n<p>control.Controls.AddAt(i,<\/p>\n<p><span style=\"color: #0000ff; font-size: x-small;\"><span style=\"color: #0000ff; font-size: x-small;\">new<\/span><\/span><span style=\"font-size: x-small;\"> LiteralControl((current <\/span><span style=\"color: #0000ff; font-size: x-small;\"><span style=\"color: #0000ff; font-size: x-small;\">as<\/span><\/span><span style=\"font-size: x-small;\"> CheckBox).Checked ? <\/span><span style=\"color: #a31515; font-size: x-small;\"><span style=\"color: #a31515; font-size: x-small;\">&#8220;True&#8221;<\/span><\/span><span style=\"font-size: x-small;\"> : <\/span><span style=\"color: #a31515; font-size: x-small;\"><span style=\"color: #a31515; font-size: x-small;\">&#8220;False&#8221;<\/span><\/span><span style=\"font-size: x-small;\">));<\/span><\/p>\n<p>}<\/p>\n<p><span style=\"color: #0000ff; font-size: x-small;\"><span style=\"color: #0000ff; font-size: x-small;\">if<\/span><\/span><span style=\"font-size: x-small;\"> (current.HasControls())<\/span><\/p>\n<p>{<\/p>\n<p>GridViewExportUtil.PrepareControlForExport(current);<\/p>\n<p>}<\/p>\n<p>}<\/p>\n<p>}<\/p>\n<p>}<\/p>\n<p>}<\/p><\/blockquote>\n<p>&nbsp;<\/p>\n<p>Para utilizar no seu evento do bot\u00e3o voc\u00ea pode adicionar<\/p>\n<p>GridViewExportUtil.Export(&#8220;Usuarios.xls&#8221;, this.nome_da_gridview);<\/p>\n<p>&nbsp;<\/p>\n<p>D\u00favidas, entrem em contato<\/p>\n<p>PS: Dificil postar um c\u00f3digo aqui no WordPress, ficou um tanto confuso, mas nada dificil de entender!<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Essa semana tive que exportar os dados de uma GridView para uma planilha Excel, bom&#8230; sabia que n\u00e3o era algo muito complicado, mas tamb\u00e9m nunca tinha feito, sendo assim realizei uma busca no grande mestre Google e encontrei uma classe que me atendeu muito bem. F\u00e1cil e descomplicado. using using System; using System.Data; using\u00a0System.Configuration; using\u00a0System.IO; [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","footnotes":"","jetpack_publicize_message":"","jetpack_is_tweetstorm":false,"jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","enabled":false}}},"categories":[10],"tags":[42,11],"jetpack_publicize_connections":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v21.1 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Classe para exportar GridView para Excel - CTASoftware Blog<\/title>\n<meta name=\"description\" content=\"CTASoftware Blog Classe para exportar GridView para Excel\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.ctasoftware.com.br\/blog\/classe-para-exportar-gridview-para-excel\/\" \/>\n<meta property=\"og:locale\" content=\"pt_BR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Classe para exportar GridView para Excel - CTASoftware Blog\" \/>\n<meta property=\"og:description\" content=\"CTASoftware Blog Classe para exportar GridView para Excel\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.ctasoftware.com.br\/blog\/classe-para-exportar-gridview-para-excel\/\" \/>\n<meta property=\"og:site_name\" content=\"CTASoftware Blog\" \/>\n<meta property=\"article:published_time\" content=\"2012-04-14T17:41:25+00:00\" \/>\n<meta name=\"author\" content=\"Everton Gon\u00e7alves\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"Everton Gon\u00e7alves\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. tempo de leitura\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.ctasoftware.com.br\/blog\/classe-para-exportar-gridview-para-excel\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.ctasoftware.com.br\/blog\/classe-para-exportar-gridview-para-excel\/\"},\"author\":{\"name\":\"Everton Gon\u00e7alves\",\"@id\":\"https:\/\/www.ctasoftware.com.br\/blog\/#\/schema\/person\/34f7fa2c76834d8410f6dd43e26fd3e4\"},\"headline\":\"Classe para exportar GridView para Excel\",\"datePublished\":\"2012-04-14T17:41:25+00:00\",\"dateModified\":\"2012-04-14T17:41:25+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.ctasoftware.com.br\/blog\/classe-para-exportar-gridview-para-excel\/\"},\"wordCount\":482,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.ctasoftware.com.br\/blog\/#organization\"},\"keywords\":[\".NET\",\"C#\"],\"articleSection\":[\".NET\"],\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.ctasoftware.com.br\/blog\/classe-para-exportar-gridview-para-excel\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.ctasoftware.com.br\/blog\/classe-para-exportar-gridview-para-excel\/\",\"url\":\"https:\/\/www.ctasoftware.com.br\/blog\/classe-para-exportar-gridview-para-excel\/\",\"name\":\"Classe para exportar GridView para Excel - CTASoftware Blog\",\"isPartOf\":{\"@id\":\"https:\/\/www.ctasoftware.com.br\/blog\/#website\"},\"datePublished\":\"2012-04-14T17:41:25+00:00\",\"dateModified\":\"2012-04-14T17:41:25+00:00\",\"description\":\"CTASoftware Blog Classe para exportar GridView para Excel\",\"breadcrumb\":{\"@id\":\"https:\/\/www.ctasoftware.com.br\/blog\/classe-para-exportar-gridview-para-excel\/#breadcrumb\"},\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.ctasoftware.com.br\/blog\/classe-para-exportar-gridview-para-excel\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.ctasoftware.com.br\/blog\/classe-para-exportar-gridview-para-excel\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"In\u00edcio\",\"item\":\"https:\/\/www.ctasoftware.com.br\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Classe para exportar GridView para Excel\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.ctasoftware.com.br\/blog\/#website\",\"url\":\"https:\/\/www.ctasoftware.com.br\/blog\/\",\"name\":\"CTASoftware Blog\",\"description\":\"Para Desenvolvedores De Software\",\"publisher\":{\"@id\":\"https:\/\/www.ctasoftware.com.br\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.ctasoftware.com.br\/blog\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"pt-BR\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.ctasoftware.com.br\/blog\/#organization\",\"name\":\"CTASoftware\",\"url\":\"https:\/\/www.ctasoftware.com.br\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\/\/www.ctasoftware.com.br\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/i0.wp.com\/www.ctasoftware.com.br\/blog\/wp-content\/uploads\/2023\/06\/logocta.png?fit=225%2C44&ssl=1\",\"contentUrl\":\"https:\/\/i0.wp.com\/www.ctasoftware.com.br\/blog\/wp-content\/uploads\/2023\/06\/logocta.png?fit=225%2C44&ssl=1\",\"width\":225,\"height\":44,\"caption\":\"CTASoftware\"},\"image\":{\"@id\":\"https:\/\/www.ctasoftware.com.br\/blog\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.ctasoftware.com.br\/blog\/#\/schema\/person\/34f7fa2c76834d8410f6dd43e26fd3e4\",\"name\":\"Everton Gon\u00e7alves\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\/\/www.ctasoftware.com.br\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/3e5e7fe964521f618a2b09d3fbb7800f?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/3e5e7fe964521f618a2b09d3fbb7800f?s=96&d=mm&r=g\",\"caption\":\"Everton Gon\u00e7alves\"},\"description\":\"http:\/\/www.ctasoftware.com.br\",\"sameAs\":[\"http:\/\/www.ctasoftware.com.br\"],\"url\":\"https:\/\/www.ctasoftware.com.br\/blog\/author\/everton-goncalves\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Classe para exportar GridView para Excel - CTASoftware Blog","description":"CTASoftware Blog Classe para exportar GridView para Excel","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.ctasoftware.com.br\/blog\/classe-para-exportar-gridview-para-excel\/","og_locale":"pt_BR","og_type":"article","og_title":"Classe para exportar GridView para Excel - CTASoftware Blog","og_description":"CTASoftware Blog Classe para exportar GridView para Excel","og_url":"https:\/\/www.ctasoftware.com.br\/blog\/classe-para-exportar-gridview-para-excel\/","og_site_name":"CTASoftware Blog","article_published_time":"2012-04-14T17:41:25+00:00","author":"Everton Gon\u00e7alves","twitter_misc":{"Escrito por":"Everton Gon\u00e7alves","Est. tempo de leitura":"2 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.ctasoftware.com.br\/blog\/classe-para-exportar-gridview-para-excel\/#article","isPartOf":{"@id":"https:\/\/www.ctasoftware.com.br\/blog\/classe-para-exportar-gridview-para-excel\/"},"author":{"name":"Everton Gon\u00e7alves","@id":"https:\/\/www.ctasoftware.com.br\/blog\/#\/schema\/person\/34f7fa2c76834d8410f6dd43e26fd3e4"},"headline":"Classe para exportar GridView para Excel","datePublished":"2012-04-14T17:41:25+00:00","dateModified":"2012-04-14T17:41:25+00:00","mainEntityOfPage":{"@id":"https:\/\/www.ctasoftware.com.br\/blog\/classe-para-exportar-gridview-para-excel\/"},"wordCount":482,"commentCount":0,"publisher":{"@id":"https:\/\/www.ctasoftware.com.br\/blog\/#organization"},"keywords":[".NET","C#"],"articleSection":[".NET"],"inLanguage":"pt-BR","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.ctasoftware.com.br\/blog\/classe-para-exportar-gridview-para-excel\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.ctasoftware.com.br\/blog\/classe-para-exportar-gridview-para-excel\/","url":"https:\/\/www.ctasoftware.com.br\/blog\/classe-para-exportar-gridview-para-excel\/","name":"Classe para exportar GridView para Excel - CTASoftware Blog","isPartOf":{"@id":"https:\/\/www.ctasoftware.com.br\/blog\/#website"},"datePublished":"2012-04-14T17:41:25+00:00","dateModified":"2012-04-14T17:41:25+00:00","description":"CTASoftware Blog Classe para exportar GridView para Excel","breadcrumb":{"@id":"https:\/\/www.ctasoftware.com.br\/blog\/classe-para-exportar-gridview-para-excel\/#breadcrumb"},"inLanguage":"pt-BR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.ctasoftware.com.br\/blog\/classe-para-exportar-gridview-para-excel\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.ctasoftware.com.br\/blog\/classe-para-exportar-gridview-para-excel\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"In\u00edcio","item":"https:\/\/www.ctasoftware.com.br\/blog\/"},{"@type":"ListItem","position":2,"name":"Classe para exportar GridView para Excel"}]},{"@type":"WebSite","@id":"https:\/\/www.ctasoftware.com.br\/blog\/#website","url":"https:\/\/www.ctasoftware.com.br\/blog\/","name":"CTASoftware Blog","description":"Para Desenvolvedores De Software","publisher":{"@id":"https:\/\/www.ctasoftware.com.br\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.ctasoftware.com.br\/blog\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"pt-BR"},{"@type":"Organization","@id":"https:\/\/www.ctasoftware.com.br\/blog\/#organization","name":"CTASoftware","url":"https:\/\/www.ctasoftware.com.br\/blog\/","logo":{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/www.ctasoftware.com.br\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/i0.wp.com\/www.ctasoftware.com.br\/blog\/wp-content\/uploads\/2023\/06\/logocta.png?fit=225%2C44&ssl=1","contentUrl":"https:\/\/i0.wp.com\/www.ctasoftware.com.br\/blog\/wp-content\/uploads\/2023\/06\/logocta.png?fit=225%2C44&ssl=1","width":225,"height":44,"caption":"CTASoftware"},"image":{"@id":"https:\/\/www.ctasoftware.com.br\/blog\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/www.ctasoftware.com.br\/blog\/#\/schema\/person\/34f7fa2c76834d8410f6dd43e26fd3e4","name":"Everton Gon\u00e7alves","image":{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/www.ctasoftware.com.br\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/3e5e7fe964521f618a2b09d3fbb7800f?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/3e5e7fe964521f618a2b09d3fbb7800f?s=96&d=mm&r=g","caption":"Everton Gon\u00e7alves"},"description":"http:\/\/www.ctasoftware.com.br","sameAs":["http:\/\/www.ctasoftware.com.br"],"url":"https:\/\/www.ctasoftware.com.br\/blog\/author\/everton-goncalves\/"}]}},"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p6ACmG-G","jetpack-related-posts":[{"id":119,"url":"https:\/\/www.ctasoftware.com.br\/blog\/c-pegar-todos-usuarios-cadastrado-no-ad\/","url_meta":{"origin":42,"position":0},"title":"C# &#8211; Pegar todos usuarios cadastrado no AD","author":"Everton Gon\u00e7alves","date":"3 de junho de 2014","format":false,"excerpt":"Em uma necessidade que tive de obter todos os usu\u00e1rios do AD, fiz algumas pesquisas no GOOGLE e encontrei uma boa refer\u00eancia e um c\u00f3digo f\u00e1cil de entender. \u00a0 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.DirectoryServices; using System.DirectoryServices.AccountManagement; namespace ConsoleApplication1 { class Program { static void Main(string[]\u2026","rel":"","context":"Em &quot;.NET&quot;","block_context":{"text":".NET","link":"https:\/\/www.ctasoftware.com.br\/blog\/category\/net\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":413,"url":"https:\/\/www.ctasoftware.com.br\/blog\/autenticacao-em-pasta-da-rede-c\/","url_meta":{"origin":42,"position":1},"title":"Autentica\u00e7\u00e3o em Pasta da Rede C#","author":"Everton Gon\u00e7alves","date":"13 de agosto de 2020","format":false,"excerpt":"Autentica\u00e7\u00e3o em pasta de rede com C# Para utilizar o c\u00f3digo da classe abaixo fa\u00e7a da seguinte maneira: public string networkPath = @\"\\\\IP\\Shared\"; NetworkCredential credentials = new NetworkCredential(@\"USU\u00c1RIO\", \"SENHA\"); Exemplo de Uso: using (new NetworkConnection(networkPath, credentials)) { using (StreamWriter writer = new StreamWriter(networkPath \"\\teste.txt\", true)) { writer.WriteLine(\"[\" + DateTime.Now.ToString() +\u2026","rel":"","context":"Em &quot;.NET&quot;","block_context":{"text":".NET","link":"https:\/\/www.ctasoftware.com.br\/blog\/category\/net\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":168,"url":"https:\/\/www.ctasoftware.com.br\/blog\/prestashop-modal-fancybox\/","url_meta":{"origin":42,"position":2},"title":"Prestashop &#8211; Modal Fancybox","author":"Everton Gon\u00e7alves","date":"25 de julho de 2016","format":false,"excerpt":"Dica para quem quer abrir uma nova p\u00e1gina dentro do PrestaShop. Incluir o c\u00f3digo JQuery abaixo no footer.tpl do seu tema. <script language=\"JavaScript\" type=\"text\/javascript\"> $(document).on('click', '.classe-link', function(e){ e.preventDefault(); var url = this.href; if (!!$.prototype.fancybox) $.fancybox({ 'padding': 20, 'width': 980, 'height': 400, 'type': 'iframe', 'href': url + '\/index.html?idUsuario=', }); }); <\/script>\u2026","rel":"","context":"Em &quot;PHP&quot;","block_context":{"text":"PHP","link":"https:\/\/www.ctasoftware.com.br\/blog\/category\/php\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":420,"url":"https:\/\/www.ctasoftware.com.br\/blog\/obter-valor-do-enum-c\/","url_meta":{"origin":42,"position":3},"title":"Obter valor do ENUM C#","author":"Everton Gon\u00e7alves","date":"24 de fevereiro de 2021","format":false,"excerpt":"Para retornar todos os valores do ENUM em C# Enum.GetValues(typeof(EnumClass)).Cast(EnumClass); Pode ser definida uma classe public class EnumUtil { \/\/\/ <summary> \/\/\/ Retorna lista com todos as propriedades e valores do ENUM \/\/\/ <\/summary> \/\/\/ <typeparam name=\"T\"><\/typeparam> \/\/\/ <returns><\/returns> public static List<SimpleEnumResponse> GetPropertyValues<T>() { List<SimpleEnumResponse> lstRetorno = new List<SimpleEnumResponse>(); SimpleEnumResponse\u2026","rel":"","context":"Em &quot;.NET&quot;","block_context":{"text":".NET","link":"https:\/\/www.ctasoftware.com.br\/blog\/category\/net\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":441,"url":"https:\/\/www.ctasoftware.com.br\/blog\/procedure-para-gerar-inserts-a-partir-de-uma-tabela-existente\/","url_meta":{"origin":42,"position":4},"title":"Procedure para gerar Inserts a partir de uma tabela existente","author":"Everton Gon\u00e7alves","date":"31 de agosto de 2022","format":false,"excerpt":"Procedure para gerar Inserts a partir de uma tabela existente","rel":"","context":"Em &quot;SQL&quot;","block_context":{"text":"SQL","link":"https:\/\/www.ctasoftware.com.br\/blog\/category\/sql\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":45,"url":"https:\/\/www.ctasoftware.com.br\/blog\/como-verificar-o-tipo-do-objeto-em-c\/","url_meta":{"origin":42,"position":5},"title":"Como Verificar o tipo do objeto em C#","author":"Everton Gon\u00e7alves","date":"27 de abril de 2012","format":false,"excerpt":"Este \u00e9 um POST um tanto simples, mas n\u00e3o t\u00e3o trivial para os programadores. Melhor dizendo e se voc\u00ea recebe um objeto o qual voc\u00ea n\u00e3o sabe o tipo? Ou se voc\u00ea estiver consumindo um servi\u00e7o (WebService, WCF, etc...), mas e tiver em sua especifica\u00e7\u00e3o que o tipo do objeto\u2026","rel":"","context":"Em &quot;.NET&quot;","block_context":{"text":".NET","link":"https:\/\/www.ctasoftware.com.br\/blog\/category\/net\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]}],"_links":{"self":[{"href":"https:\/\/www.ctasoftware.com.br\/blog\/wp-json\/wp\/v2\/posts\/42"}],"collection":[{"href":"https:\/\/www.ctasoftware.com.br\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.ctasoftware.com.br\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.ctasoftware.com.br\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.ctasoftware.com.br\/blog\/wp-json\/wp\/v2\/comments?post=42"}],"version-history":[{"count":2,"href":"https:\/\/www.ctasoftware.com.br\/blog\/wp-json\/wp\/v2\/posts\/42\/revisions"}],"predecessor-version":[{"id":44,"href":"https:\/\/www.ctasoftware.com.br\/blog\/wp-json\/wp\/v2\/posts\/42\/revisions\/44"}],"wp:attachment":[{"href":"https:\/\/www.ctasoftware.com.br\/blog\/wp-json\/wp\/v2\/media?parent=42"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.ctasoftware.com.br\/blog\/wp-json\/wp\/v2\/categories?post=42"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.ctasoftware.com.br\/blog\/wp-json\/wp\/v2\/tags?post=42"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}