Fórum Exportação xls com interop muito lento #584216
28/07/2017
0
Boa tarde, estou gerando um arquivo excel a partir de uma consulta no banco mysq, só que esta muito lento, quando gero a mesma pesquiza em txt é quase que instantaneo, ja em excel esta demorando por volta de quase 1min.
Estou desenvolvendo o projeto em MVC3 C#
Código que exporta Excel:
foreach (var item in dados)
{
i++;
WorkSheet.Cells[i, 1].NumberFormat = "@";
WorkSheet.Cells[i, 1] = @item.ToString();
WorkSheet.Cells[i, 2].NumberFormat = "@";
WorkSheet.Cells[i, 2] = item.obj0200.cod_ncm.ToString();
//WorkSheet.Cells[i, 3].NumberFormat = "@";
WorkSheet.Cells[i, 3] = item.obj0200.descr_item.ToString();
//WorkSheet.Cells[i, 4].NumberFormat = "@";
WorkSheet.Cells[i, 4] = item.qtd.ToString();
//WorkSheet.Cells[i, 5].NumberFormat = "@";
WorkSheet.Cells[i, 5] = item.qtd_canc.ToString();
WorkSheet.Cells[i, 6] = item.cst_icms.ToString();
WorkSheet.Cells[i, 7] = item.aliq_icms.ToString();
WorkSheet.Cells[i, 8] = item.unid.ToString();
WorkSheet.Cells[i, 9] = item.vl_item.ToString();
WorkSheet.Cells[i, 10] = decimal.Parse(item.vl_item.ToString()) * (decimal.Parse(item.aliq_icms.ToString()) / 100);
}
OBS.: a variavel dados ela é uma lista de objeto.
Alguem teria uma solução?
Desde já agradeço.
Estou desenvolvendo o projeto em MVC3 C#
Código que exporta Excel:
foreach (var item in dados)
{
i++;
WorkSheet.Cells[i, 1].NumberFormat = "@";
WorkSheet.Cells[i, 1] = @item.ToString();
WorkSheet.Cells[i, 2].NumberFormat = "@";
WorkSheet.Cells[i, 2] = item.obj0200.cod_ncm.ToString();
//WorkSheet.Cells[i, 3].NumberFormat = "@";
WorkSheet.Cells[i, 3] = item.obj0200.descr_item.ToString();
//WorkSheet.Cells[i, 4].NumberFormat = "@";
WorkSheet.Cells[i, 4] = item.qtd.ToString();
//WorkSheet.Cells[i, 5].NumberFormat = "@";
WorkSheet.Cells[i, 5] = item.qtd_canc.ToString();
WorkSheet.Cells[i, 6] = item.cst_icms.ToString();
WorkSheet.Cells[i, 7] = item.aliq_icms.ToString();
WorkSheet.Cells[i, 8] = item.unid.ToString();
WorkSheet.Cells[i, 9] = item.vl_item.ToString();
WorkSheet.Cells[i, 10] = decimal.Parse(item.vl_item.ToString()) * (decimal.Parse(item.aliq_icms.ToString()) / 100);
}
OBS.: a variavel dados ela é uma lista de objeto.
Alguem teria uma solução?
Desde já agradeço.
Flavio Loiola
Curtir tópico
+ 0
Responder
Clique aqui para fazer login e interagir na Comunidade :)