Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- [HttpGet("exportexcell")]
- public async Task<FileContentResult> ExportExcel()
- {
- var loggedUser = await GetCurrentUserAsync();
- var users = _userManager.Users.Select(u => new UserListVM
- {
- Id = u.Id,
- Name = u.UserName,
- Email = u.Email
- }).ToList();
- if (users == null) return null;
- //column Header name
- var columnsHeader = new List<string>{
- "S/N",
- "User Name",
- "Email"
- };
- var filecontent = ExportExcell(users, columnsHeader, "Users");
- return File(filecontent, "application/ms-excel", "users.xlsx"); ;
- }
- private static byte[] ExportExcell(List<UserListVM> data, List<string> columns, string heading)
- {
- byte[] result = null;
- using (ExcelPackage package = new ExcelPackage())
- {
- // add a new worksheet to the empty workbook
- var worksheet = package.Workbook.Worksheets.Add(heading);
- using (var cells = worksheet.Cells[1, 1, 1, 7])
- {
- cells.Style.Font.Bold = true;
- cells.Style.Fill.PatternType = ExcelFillStyle.Solid;
- cells.Style.Fill.BackgroundColor.SetColor(Color.Green);
- }
- //First add the headers
- for (int i = 0; i < columns.Count(); i++)
- {
- worksheet.Cells[1, i + 1].Value = columns[i];
- }
- //Add values
- var j = 2;
- var count = 1;
- foreach (var item in data)
- {
- worksheet.Cells["A" + j].Value = count;
- worksheet.Cells["B" + j].Value = item.Name;
- worksheet.Cells["C" + j].Value = item.Email;
- worksheet.Cells["D" + j].Value = item.RoleNam
- j++;
- count++;
- }
- result = package.GetAsByteArray();
- }
- return result;
- }
- //First add the headers
- for (int i = 0; i < dataList.Count; i++)
- {
- worksheet.Cells[1, i + 1].Value = dataList[i];
- }
- //First add the headers
- for (int i = 0; i < columnsHeader.Count; i++)
- {
- worksheet.Cells[1, i + 1].Value = columnsHeader[i];
- }
Add Comment
Please, Sign In to add comment