public IActionResult CreateSheet() { using (var stream = new MemoryStream()) { using (var excelDocument = SpreadsheetDocument.Create(stream, SpreadsheetDocumentType.Workbook, true)) { var workBookPart = excelDocument.AddWorkbookPart(); workBookPart.Workbook = new Workbook(); var part = workBookPart.AddNewPart <WorksheetPart>(); part.Worksheet = new Worksheet(new SheetData()); var sheets = workBookPart.Workbook.AppendChild(new Sheets()); var sheet = new Sheet() { Id = workBookPart.GetIdOfPart(part), SheetId = 1, Name = "Employees" }; var sheetData = part.Worksheet.Elements <SheetData>().First(); var row = sheetData.AppendChild(new Row()); var header1 = ExcelHelpers.ConstructCell("Name", CellValues.String); row.Append(header1); var header2 = ExcelHelpers.ConstructCell("Age", CellValues.String); row.Append(header2); foreach (var employee in ExcelHelpers.GetEmployeeData()) { var dataRow = sheetData.AppendChild(new Row()); var cell1 = ExcelHelpers.ConstructCell(employee.Name, CellValues.String); dataRow.Append(cell1); var cell2 = ExcelHelpers.ConstructCell(employee.Age.ToString(), CellValues.Number); dataRow.Append(cell2); } sheets.Append(sheet); workBookPart.Workbook.Save(); excelDocument.Close(); } return(File(stream.ToArray(), docxMIMEType, "Excel Sheet Basic Example.xlsx")); } }