Getting Started...
using OfficeOpenXml;
...
using (var stream = new MemoryStream())
{
using (var xlPackage = new ExcelPackage())
{
var ws = xlPackage.Workbook.Worksheets.Add("Sheet1");
var range = ws.Cells[1, 1];
// do stuff
xlPackage.SaveAs(stream);
}
}
Autofilter
range.AutoFilter = true; // range should include column headers
Freeze Panes
ws.View.FreezePanes(startRow, startCol); // top left data cell
Merge Cells
range.Merge = true;
Format: Font
range.Style.Font.Name = "Cambria";
range.Style.Font.Size = (float)11.0;
range.Style.Font.Bold = true;
Border
range.Style.Border.Top.Style = ExcelBorderStyle.Thin; // must be set first
range.Style.Border.Top.Color.SetColor(Color.Black);
Formula: Divide/Multiply/Etc at the row level.
range.Formula = String.Format("E{0}/C{0}", row); // divide
range.Formula = String.Format("D{0}*E{0}", row); // multiply
range.Formula = String.Format("B{0}-C{0}", row); // subtract
Formula: SUM
range.Formula = String.Format("SUM(C{0}:C{1})", startRow, endRow);
Format: Date
range.Style.Numberformat.Format = "m/d/yyyy"
range.Style.HorizontalAlignment = ExcelHorizontalAlignment.Right;
Format: Currency
range.Style.Numberformat.Format = "$#,###";
range.Style.HorizontalAlignment = ExcelHorizontalAlignment.Right;
Format: Percent
range.Style.Numberformat.Format = "#,###%";
range.Style.HorizontalAlignment = ExcelHorizontalAlignment.Right;