SwiftExcel Documentation

SwiftExcel is a lightweight, extremely fast, memory-efficient Excel (.xlsx) output library for .NET and .NET Core. It deliberately skips XML serialization and streams data directly to the file, producing reports in a fraction of a second with a near-zero memory footprint. SwiftExcel is intentionally write-only — it does not read existing files and does not produce legacy .xls. That constraint is what makes it so fast.

The library ships in two editions. Pick whichever fits your needs:

Free vs Pro — Feature comparison

The two editions are not a simple superset relationship — even ExcelWriter constructor signatures and the Write(...) parameter list differ. Make sure to follow the documentation for the edition you actually installed.

Feature SwiftExcel
(Free / OSS)
SwiftExcel.Pro
(Commercial)
Streaming write of .xlsx with near-zero memory Yes Yes
Output to file path Yes Yes
Output directly to a Stream (e.g. Azure Blob) Yes No (file path only)
Single sheet per workbook Yes Yes
Multiple sheets per workbook No Yes
Sheet name, column widths, right-to-left, wrap text Yes Yes
Custom row heights No Yes
Built-in formulas: Average, Count, Max, Sum Yes Yes
Custom Excel formulas (any function, e.g. HYPERLINK, IF, …) No Yes (DataType.CustomFormula)
Hyperlinks No Yes (via HYPERLINK custom formula)
Cell styles: fonts, font size, bold/italic/underline No Yes
Cell colors (font, fill, borders) No Yes
Horizontal & vertical alignment No Yes
Number formats (currency, percentage, custom) No Yes
Date / time output (via ToOADate()) Possible, but no number format → shows as raw double Yes (with NumberFormat.Custom(...))
Merged cells No Yes (MergeRange)
Auto filter No Yes (FilterRange)
Freeze rows / columns No Yes (FreezeType)
One-line list export IList<T>.ExportToExcel() Yes No
[ExcelExport] attribute (Name / Order / Width) Yes No
License Free, open-source Commercial subscription or perpetual
Target framework netstandard2.0 netstandard2.0

Installation

Both editions are distributed via NuGet. The packages can co-exist if you really need both, but they expose the same type names (ExcelWriter, Sheet, DataType, …) in different namespaces (SwiftExcel vs SwiftExcel.Pro), so most projects only reference one.

SwiftExcel Free

Open-source, MIT-style license. Source on GitHub.

.NET CLI

dotnet add package SwiftExcel

Package Manager Console

Install-Package SwiftExcel

PackageReference

<PackageReference Include="SwiftExcel" Version="1.1.10" />

Read the SwiftExcel (Free) documentation →

SwiftExcel.Pro Pro

Commercial. Adds multi-sheet, full styling, custom formulas, hyperlinks, merge / filter / freeze panes, custom row heights and number formats.

.NET CLI

dotnet add package SwiftExcel.Pro

Package Manager Console

Install-Package SwiftExcel.Pro

PackageReference

<PackageReference Include="SwiftExcel.Pro" Version="1.1.10" />

Read the SwiftExcel.Pro documentation →

Where to next?

  • SwiftExcel (Free) docs — constructor, full Write / WriteFormula reference, DataType and FormulaType enums, list export extension, examples and FAQ.
  • SwiftExcel.Pro docs — all 8 constructor overloads, multi-sheet API, Style, Color, NumberFormat, MergeRange, FilterRange, FreezeType, hyperlinks, dates, and FAQ.
  • Performance benchmark — how SwiftExcel compares to EPPlus, FastExcel, Syncfusion and others on a 100,000 × 100 export.
  • Plans & pricing for SwiftExcel.Pro.