daily pastebin goal
66%
SHARE
TWEET

Untitled

a guest Aug 16th, 2018 63 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  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.         }
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top