Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- private byte[] FileFIller<T>(List<T> elements)
- {
- byte[] res;
- using (var ms = new MemoryStream())
- {
- IWorkbook workbook = new XSSFWorkbook();
- ISheet sheet = workbook.CreateSheet(elements.First().GetType() + "s");
- var rowIndex = 0;
- foreach (var element in elements)
- {
- IRow row = sheet.CreateRow(rowIndex);
- var propIndex = 0;
- foreach (var prop in element.GetType().GetProperties())
- {
- if (element.IsAttributeDefined(prop.Name, typeof(Exportable)))
- {
- var value = rowIndex == 0 ? prop.Name : prop.GetValue(element, null);
- value = value ?? "";
- row.CreateCell(propIndex).SetCellValue(value.ToString());
- ++propIndex;
- }
- }
- rowIndex++;
- }
- workbook.Write(ms);
- res = ms.ToArray();
- }
- return res;
- }
Add Comment
Please, Sign In to add comment