4
I created an excel file, but now the user needs to download, how can I do ? follows my method :
public PartialViewResult ExportarParticipantes(int idPeriodo)
{
Regex reg = new Regex("[/ :]");
// Monta arquivo para análise
string fileName = string.Format("{0}_{1}", reg.Replace(DateTime.Now.ToString(), "_").Replace("&", ""), Path.GetFileName("passagens.xls"));
string caminhoArquivo = Path.Combine(Caminho, fileName);
ExcelHelper excelHelper = new ExcelHelper(caminhoArquivo);
// Obtém dados
Dictionary<string, int> colunas = new Dictionary<string, int>();
UploadPassagem lstParticipantePassagem = null;
List<UploadPassagem> lista = new List<UploadPassagem>();
GerenciaPassagemModel model = new GerenciaPassagemModel();
Periodo periodo = new PeriodoService().ListarPorId(idPeriodo);
model.Mensagem = ValidarPeriodo(periodo);
model.ListaPassagens = new PassagemService().ListarPassagensPorPeriodo(idPeriodo, true);
foreach (var item in model.ListaPassagens)
{
lstParticipantePassagem = new UploadPassagem();
lstParticipantePassagem.PARTICIPANTE = item.Participante.NomeCompleto;
lstParticipantePassagem.CPF = item.Participante.CPF;
lstParticipantePassagem.PASSAGEM = item.Passagens.ToString();
lstParticipantePassagem.CONCESSIONÁRIA = item.Participante.EstruturaAtual.EstruturaNome;
lstParticipantePassagem.STATUS = item.Acao == true ? "Aprovado" : item.Acao == false ? "Recusado" : "Pendente";
lista.Add(lstParticipantePassagem);
}
excelHelper.Export<UploadPassagem>(lista);
return PartialView("_ListaParticipante", model);
}
I think in this case we can abstract the generation of the file. You could leave a smaller pseudo-code where it assumes that the file will be created correctly.
– Oralista de Sistemas