tcn 1 Denunciar post Postado Novembro 27, 2013 Boas pessoas, tudo bem?Eu estou tentando criar esse método de forma genérica para ser usada varias vezes em varias situaçõesSegue o código abaixo public static void ExportaGridToExcel(GridView gr) { int intLinha = 0; HttpContext.Current.Response.Clear(); HttpContext.Current.Response.AddHeader("content-disposition", string.Format("attachment;filename=Relatorio {0}.xls", DateTime.Now.ToString("dd/MM/yyyy").Substring(0, 2) + "-" + DateTime.Now.Month.ToString() + "-" + DateTime.Now.Year.ToString())); HttpContext.Current.Response.ContentType = "application/ms-excel"; HttpContext.Current.Response.ContentEncoding = System.Text.Encoding.Default; StringBuilder sb = new StringBuilder(); sb.Append("<style type=\"text/css\">\r\n"); sb.Append(".tabHead\r\n"); sb.Append("{\r\n"); sb.Append(" background-color: #000080;\r\n"); sb.Append(" border: solid 1px black;\r\n"); sb.Append(" color: White;\r\n"); sb.Append(" font-weight: bold;\r\n"); sb.Append("}\r\n"); sb.Append(".tabRow\r\n"); sb.Append("{\r\n"); sb.Append(" border: solid 1px black;\r\n"); sb.Append("}\r\n"); sb.Append("</style>\r\n\r\n"); //Header sb.AppendFormat("<table>\r\n"); sb.AppendFormat("<tr>\r\n"); sb.AppendFormat("</tr>\r\n"); sb.AppendFormat("<tr>\r\n"); sb.AppendFormat("\t<td></td>\r\n"); sb.AppendFormat("\t<td></td>\r\n"); sb.AppendFormat("\t<td></td>\r\n"); sb.AppendFormat("\t<td class=\"tabHead\">" + DateTime.Now.ToString("dd/MM/yyyy") + "</td>\r\n"); sb.AppendFormat("</tr>\r\n"); sb.AppendFormat("</table>\r\n"); sb.AppendFormat("<table>\r\n"); sb.AppendFormat("<thead>\r\n"); sb.AppendFormat("<tr>\r\n"); sb.AppendFormat("</tr>\r\n"); sb.AppendFormat("<tr>\r\n"); for (int i = 0; i < gr.Columns.Count; i++) { sb.AppendFormat("\t<td class=\"tabHead\">" + gr.Columns[i].HeaderText + "</td>\r\n"); } sb.AppendFormat("</tr>\r\n"); sb.AppendFormat("</thead>\r\n"); sb.AppendFormat("<tbody>\r\n"); sb.AppendFormat("<tr>\r\n"); for (int a = 0; a < gr.Columns.Count; a++) { GridViewRow row = gr.Rows[i]; for (int b = 0; b < row.Cells.Count; b++) { sb.AppendFormat("\t<td class=\"tabRow\">" + ((row.Cells[b].Text != null) ? row.Cells[b].Text : "").ToString() + "</td>\r\n"); sb.Append("\n"); } } sb.AppendFormat("</tr>\r\n"); //Footer sb.AppendFormat("</tbody>\r\n"); sb.AppendFormat("</table>\r\n"); HttpContext.Current.Response.Cache.SetCacheability(HttpCacheability.NoCache); HttpContext.Current.Response.Write(sb.ToString()); HttpContext.Current.Response.End(); } o problema é que ele esta gerando a Cells na mesma linha deveria quebrar as linhas e fazer linha a linha, alguém sabe onde estou errando ? Compartilhar este post Link para o post Compartilhar em outros sites
KhaosDoctor 242 Denunciar post Postado Novembro 27, 2013 Não entendi o que ele está fazendo, poderia explicar melhor? Compartilhar este post Link para o post Compartilhar em outros sites
tcn 1 Denunciar post Postado Dezembro 9, 2013 Desculpe a Demora mas eu ja descobri o que era o problema era no TD precisava fechar após terminar a Linha,Estava enviando o grid para excel de forma generica Compartilhar este post Link para o post Compartilhar em outros sites