public FileContentResult GetExcelReport(RequestViewModel model) { List <RequestViewModel> cast = new List <RequestViewModel>(); var userId = Convert.ToInt32(User.Identity.Name.Split('|')[1]); var data = RequestObject.GetListCopy(userId, model); if (data.Data != null) { cast = data.Data.OfType <RequestViewModel>().ToList(); foreach (var item in cast) { var preguntasVM = item.QuestionsVM.ToList(); if (preguntasVM != null) { switch (preguntasVM.Count) { case 1: item.Pregunta1 = preguntasVM[0].Text; break; case 2: item.Pregunta1 = preguntasVM[0].Text; item.Pregunta2 = preguntasVM[1].Text; break; case 3: item.Pregunta1 = preguntasVM[0].Text; item.Pregunta2 = preguntasVM[1].Text; item.Pregunta3 = preguntasVM[2].Text; break; case 4: item.Pregunta1 = preguntasVM[0].Text; item.Pregunta2 = preguntasVM[1].Text; item.Pregunta3 = preguntasVM[2].Text; item.Pregunta4 = preguntasVM[3].Text; break; case 5: item.Pregunta1 = preguntasVM[0].Text; item.Pregunta2 = preguntasVM[1].Text; item.Pregunta3 = preguntasVM[2].Text; item.Pregunta4 = preguntasVM[3].Text; item.Pregunta5 = preguntasVM[4].Text; break; } } } } List <string> columns = new List <string> { "#", "USUARIO", "SOLICITUD", "FECHA", "STATUS", "PREGUNTA 1", "PREGUNTA 2", "PREGUNTA 3", "PREGUNTA 4", "PREGUNTA 5" }; List <int> indices = new List <int> { 0, 9, 10, 11, 12, 13, 14, 15 }; MemoryStream stream = ExcelExport.ExportList(cast, columns, indices); return(File(stream.GetBuffer(), "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", "file.xlsx")); }