Gembox.spreadsheet.dll -

// Add data worksheet.Cells[0, 0].Value = "Product"; worksheet.Cells[0, 1].Value = "Qty"; worksheet.Cells[0, 2].Value = "Price"; worksheet.Cells[0, 3].Value = "Total";

// Style a header var headerStyle = new CellStyle

workbook.Save("Report.xlsx"); For truly massive files (500k+ rows), use the LoadOptions to stream data: gembox.spreadsheet.dll

var worksheet = reader.Worksheets[0]; foreach (var row in worksheet.Rows) // Process row by row without holding entire file in RAM Console.WriteLine(row.Cells[0].Value);

var workbook = new ExcelFile(); var worksheet = workbook.Worksheets.Add("Sales Report"); // Add data worksheet

A unique feature of this DLL is direct HTML rendering:

worksheet.Cells[1, 0].Value = "Widget"; worksheet.Cells[1, 1].Value = 10; worksheet.Cells[1, 2].Value = 5.99; worksheet.Cells[1, 3].SetFormula("=B2*C2"); // Add data worksheet.Cells[0

using (var reader = ExcelFile.LoadXlsx("hugefile.xlsx", new XlsxLoadOptions ReadDataOnly = true ))