Guest User

Untitled

a guest
Aug 16th, 2018
89
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.22 KB | None | 0 0
  1. private byte[] FileFIller<T>(List<T> elements)
  2. {
  3. byte[] res;
  4.  
  5.  
  6. using (var ms = new MemoryStream())
  7. {
  8. IWorkbook workbook = new XSSFWorkbook();
  9.  
  10. ISheet sheet = workbook.CreateSheet(elements.First().GetType() + "s");
  11.  
  12. var rowIndex = 0;
  13.  
  14.  
  15. foreach (var element in elements)
  16. {
  17. IRow row = sheet.CreateRow(rowIndex);
  18. var propIndex = 0;
  19.  
  20. foreach (var prop in element.GetType().GetProperties())
  21. {
  22. if (element.IsAttributeDefined(prop.Name, typeof(Exportable)))
  23. {
  24. var value = rowIndex == 0 ? prop.Name : prop.GetValue(element, null);
  25.  
  26. value = value ?? "";
  27.  
  28. row.CreateCell(propIndex).SetCellValue(value.ToString());
  29.  
  30. ++propIndex;
  31.  
  32. }
  33.  
  34.  
  35. }
  36. rowIndex++;
  37. }
  38.  
  39. workbook.Write(ms);
  40.  
  41. res = ms.ToArray();
  42. }
  43.  
  44. return res;
  45. }
Add Comment
Please, Sign In to add comment