// 6. Add totals row worksheet.Cells["A5"].Value = "TOTALS"; worksheet.Cells["B5"].Formula = "=SUM(B2:B3)"; worksheet.Cells["D5"].Formula = "=SUM(D2:D3)";
public void CreateSalesReport()
worksheet.Cells["A3"].Value = "Widget B"; worksheet.Cells["B3"].Value = 75; worksheet.Cells["C3"].Value = 24.50;
// 9. Save to file (no Excel installed required) workbook.SaveAs(@"C:\Reports\SalesReport.xlsx", FileFormat.OpenXMLWorkbook); spreadsheetgear example
For .NET developers, programmatically creating, reading, or modifying Excel files often feels like a high-wire act. You can use Microsoft’s Office Interop—but that requires Excel to be installed, is notoriously slow, unstable in server environments, and expensive to license. Enter SpreadsheetGear : a high-performance, server-friendly .NET library that reads, writes, and renders Excel workbooks without Microsoft Excel.
// 1. Create a new workbook and get the active worksheet IWorkbook workbook = Factory.GetWorkbook(); IWorksheet worksheet = workbook.Worksheets["Sheet1"]; worksheet.Name = "Sales Report";
// 2. Define headers worksheet.Cells["A1"].Value = "Product"; worksheet.Cells["B1"].Value = "Units Sold"; worksheet.Cells["C1"].Value = "Unit Price"; worksheet.Cells["D1"].Value = "Total Revenue"; You can use Microsoft’s Office Interop—but that requires
// 8. Auto-fit columns for readability worksheet.Cells["A:D"].Columns.AutoFit();
// 4. Add sample data (normally from DB) worksheet.Cells["A2"].Value = "Widget A"; worksheet.Cells["B2"].Value = 150; worksheet.Cells["C2"].Value = 12.99;
// 3. Apply formatting to headers (bold, background color) IRange headerRange = worksheet.Cells["A1:D1"]; headerRange.Font.Bold = true; headerRange.Interior.Color = System.Drawing.Color.LightGray; headerRange.Borders.LineStyle = SpreadsheetGear.Advanced.Cells.LineStyle.Continuous; Create a new workbook and get the active
// 7. Format currency column worksheet.Cells["C2:C3"].NumberFormat = "$#,##0.00"; worksheet.Cells["D2:D5"].NumberFormat = "$#,##0.00";
// 5. Write Excel formulas for total revenue worksheet.Cells["D2"].Formula = "=B2*C2"; worksheet.Cells["D3"].Formula = "=B3*C3";
var generator = new ReportGenerator(); generator.CreateSalesReport(); Console.WriteLine("Excel report generated successfully."); What Makes This Powerful? | Challenge | SpreadsheetGear Solution | |-----------|--------------------------| | Server deployment | No COM, no Excel install. Runs in any .NET app (ASP.NET, Windows Service, Azure Function). | | Performance | In-memory, thread-safe, and up to 100x faster than Interop. | | Formulas & functions | Supports 400+ built-in Excel functions, including array formulas. | | Rendering | Can convert worksheets to PDF, PNG, or HTML without Excel. | | Compatibility | Reads/writes .xls, .xlsx, .xlsm, .csv — preserves charts, pivot tables, and macros. | Real-World Use Case Extension Suppose you need to email this report as a PDF. With SpreadsheetGear, you can add two lines: