public async Task <IActionResult> DownloadGrid(string quizId) { var watch = System.Diagnostics.Stopwatch.StartNew(); var options = _reportService.GetQuestions(Guid.Parse(quizId)); var questionList = _reportService.GetAnswersBySurveyId(Guid.Parse(quizId)); var sortAnswers = questionList.GroupBy(u => u.RespondentId) .Select(grp => new AnswerGroup { DateCreated = grp.First().DateCreated, DataList = grp.ToList() }) .ToList(); var result = new FileViewModel() { HeaderOption = options, Answers = sortAnswers, }; var exportData = _excelService.ExportExcel(result, "", true); watch.Stop(); var elapsedMs = watch.ElapsedMilliseconds; var elapsedSec = elapsedMs / 1000; return(new FileContentResult(exportData.Content, exportData.ContentType)); }
[AuthFilter]//身份认证,不带token或者token错误会被拦截器拦截进不来这个接口 public IActionResult ExportExcel() { string title = "用户列表"; string sheetName = "用户列表"; Dictionary <string, string> dicColumns = new Dictionary <string, string>(); dicColumns.Add("Email", "邮箱"); dicColumns.Add("UserName", "用户名"); dicColumns.Add("LoginType", "用户类型"); dicColumns.Add("CreateTime", "创建时间"); var user = _BaseService.GetListWriteBy <Users>(x => x.Disable == false && x.AuthRole == AuthRole.User).ToList(); byte[] buffer = _excelService.ExportExcel(user, title, sheetName, dicColumns); string path = "用户" + DateTime.Now.ToString("yyyy-MM-dd-HH-m") + ".xlsx"; return(File(buffer, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", path)); }