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" />
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" />
Where to next?
- SwiftExcel (Free) docs — constructor, full
Write/WriteFormulareference,DataTypeandFormulaTypeenums, 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.