Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Bom dia pessoal,
Estou tendo um problema ao exportar um relatório muito grande de um datagrid para um excel.
O datagrid tem aproximadamente 9000 linhas.
Quando eu exporto um datagrid com 7000 linhas ele vai tranquilo, mas quando o é o outro ele dá pau.
Uso a mesma função para os dois, o estranho é que após apertar o botão para exportar ele não dá nem o postback da erro do IE direto sem sequer percorrer o código aspx.cs
não dá erro de excecução nem erro de compilação.
apenas aparece a mensagem do IE dizendo que a página não pode ser exibida.
pode ser alguma limitação do excel ou do ie em exportar, pois com menos de 9000 linhas ele exporta normalmente
Como é a função que você utiliza para exportar? É ASP.NET?
Demora muito? Talvez seja timeout.
Faccruz, é asp.net sim, segue abaixo a função, já usei essa funcao em outros códigos e não dá galho nenhum. Até porque é a mesma função que exporta o mesmo relatório se o mesmo tiver menos de 9000 linhas
protected void btExporta_Click(object sender, EventArgs e)
{
Response.Clear();
Response.AddHeader("content-disposition", "attachment;filename=HONOR_WEB_" + DateTime.Now.ToString("yyyyMMdd") + ".xls");
Response.ContentEncoding = System.Text.Encoding.Default;
Response.Charset = "ISO-8859-1";
Response.Cache.SetCacheability(HttpCacheability.NoCache);
Response.ContentType = "application/vnd.ms-excel";
System.IO.StringWriter stringWr = new System.IO.StringWriter();
System.Web.UI.HtmlTextWriter htmlWr = new HtmlTextWriter(stringWr);
GridRelatorio.RenderControl(htmlWr);
Response.Write(stringWr.ToString());
Response.End();
}
Pode ser alguma limitação do Excel, mas de qualquer forma poste o erro.
Abraços...