public void Initialize(string outputFile, GeneratorSettings settings) { //reset main settings ConversionSettings = settings; // Create a spreadsheet document by supplying the filepath. // By default, AutoSave = true, Editable = true, and Type = xlsx. ExcelDocument = SpreadsheetDocument.Create(outputFile, SpreadsheetDocumentType.Workbook); // Add a WorkbookPart to the document. ExcelWorkbookPart = ExcelDocument.AddWorkbookPart(); ExcelWorkbookPart.Workbook = new Workbook(); ExcelWorkbookPart.Workbook.AddNamespaceDeclaration("r", "http://schemas.openxmlformats.org/officeDocument/2006/relationships"); // Add a WorksheetPart to the WorkbookPart. ExcelWorkSheetPart = ExcelWorkbookPart.AddNewPart <WorksheetPart>(); ExcelWorkSheetPart.Worksheet = SetWorksheetData(); // Add Sheets to the Workbook. Sheets sheets = ExcelDocument.WorkbookPart.Workbook.AppendChild <Sheets>(new Sheets()); // Append a new worksheet and associate it with the workbook. Sheet sheet = new Sheet() { Id = ExcelDocument.WorkbookPart.GetIdOfPart(ExcelWorkSheetPart), SheetId = 1, Name = "Exported data" }; sheets.Append(sheet); // Get the SharedStringTablePart. ExcelSharedStringsTable = ExcelDocument.WorkbookPart.AddNewPart <SharedStringTablePart>(); //Set custom styles WorkbookStylesPart workbookStylesPart = ExcelDocument.WorkbookPart.AddNewPart <WorkbookStylesPart>(); workbookStylesPart.Stylesheet = GenerateStylesheet(); ExcelStyleSheet = ExcelDocument.WorkbookPart.WorkbookStylesPart.Stylesheet; CreateHeader(); // Save the new worksheet. ExcelWorkSheetPart.Worksheet.Save(); }