Guest User

Untitled

a guest
Oct 19th, 2017
91
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.17 KB | None | 0 0
  1. [HttpGet("exportexcell")]
  2. public async Task<FileContentResult> ExportExcel()
  3. {
  4. var loggedUser = await GetCurrentUserAsync();
  5. var users = _userManager.Users.Select(u => new UserListVM
  6. {
  7. Id = u.Id,
  8. Name = u.UserName,
  9. Email = u.Email
  10. }).ToList();
  11.  
  12. if (users == null) return null;
  13.  
  14. //column Header name
  15. var columnsHeader = new List<string>{
  16. "S/N",
  17. "User Name",
  18. "Email"
  19. };
  20. var filecontent = ExportExcell(users, columnsHeader, "Users");
  21. return File(filecontent, "application/ms-excel", "users.xlsx"); ;
  22. }
  23.  
  24. private static byte[] ExportExcell(List<UserListVM> data, List<string> columns, string heading)
  25. {
  26. byte[] result = null;
  27.  
  28. using (ExcelPackage package = new ExcelPackage())
  29. {
  30. // add a new worksheet to the empty workbook
  31. var worksheet = package.Workbook.Worksheets.Add(heading);
  32. using (var cells = worksheet.Cells[1, 1, 1, 7])
  33. {
  34. cells.Style.Font.Bold = true;
  35. cells.Style.Fill.PatternType = ExcelFillStyle.Solid;
  36. cells.Style.Fill.BackgroundColor.SetColor(Color.Green);
  37. }
  38. //First add the headers
  39. for (int i = 0; i < columns.Count(); i++)
  40. {
  41. worksheet.Cells[1, i + 1].Value = columns[i];
  42. }
  43.  
  44. //Add values
  45. var j = 2;
  46. var count = 1;
  47. foreach (var item in data)
  48. {
  49. worksheet.Cells["A" + j].Value = count;
  50. worksheet.Cells["B" + j].Value = item.Name;
  51. worksheet.Cells["C" + j].Value = item.Email;
  52. worksheet.Cells["D" + j].Value = item.RoleNam
  53.  
  54. j++;
  55. count++;
  56. }
  57. result = package.GetAsByteArray();
  58. }
  59.  
  60. return result;
  61. }
  62.  
  63. //First add the headers
  64. for (int i = 0; i < dataList.Count; i++)
  65. {
  66. worksheet.Cells[1, i + 1].Value = dataList[i];
  67. }
  68.  
  69. //First add the headers
  70. for (int i = 0; i < columnsHeader.Count; i++)
  71. {
  72. worksheet.Cells[1, i + 1].Value = columnsHeader[i];
  73. }
Add Comment
Please, Sign In to add comment