net10.0
Excelsior is an Excel spreadsheet generation library with a distinctive data-driven approach.
Published
Sep 24, 2026
24d ago
Total Downloads
18.2K
18,221
Install
dotnet add package Excelsior --version 6.4.0
| Product | Versions |
|---|---|
| .NET |
README
Excelsior
Excelsior is an Excel spreadsheet generation library with a distinctive data-driven approach. Uses DocumentFormat.OpenXml for spreadsheet creation and OpenXmlHtml for HTML cell rendering.
Usage
Model
Given an input class:
using Excelsior;
public class Employee
{
[Column(Heading = "Employee ID", Order = 1)]
public required int Id { get; init; }
[Column(Heading = "Full Name", Order = 2)]
public required string Name { get; init; }
[Column(Heading = "Email Address", Order = 3)]
public required string Email { get; init; }
[Column(Heading = "Hire Date", Order = 4)]
public Date? HireDate { get; init; }
[Column(Heading = "Annual Salary", Order = 5)]
public int Salary { get; init; }
public bool IsActive { get; init; }
public EmployeeStatus Status { get; init; }
}
[ColumnAttribute] is optional. If omitted:
- Order is based on the order of the properties defined in the class.
- Heading text is based on the property names that is camel case split.
Builder
BookBuilder is the root entry point. Once instantiated, the data for multiple sheets can be added.
var builder = new BookBuilder();
List<Employee> data =
[
new()
{
Id = 1,
Name = "John Doe",
Email = "[email protected]",
HireDate = new(2020, 1, 15),
Salary = 75000,
IsActive = true,
Status = EmployeeStatus.FullTime
},
new()
{
Id = 2,
Name = "Jane Smith",
Email = "[email protected]",
HireDate = new(2019, 3, 22),
Salary = 120000,
IsActive = true,
Status = EmployeeStatus.FullTime
},
];
builder.AddSheet(data);
using var book = await builder.Build();
Documentation
See the readme for full documentation.
Changes from Previous Version
v6.3.0v6.4.0
Added Dependencies
OpenXmlKit(net10.0)
Adoption Assessment
Assess this package against its supported frameworks, license, maintenance signals and dependency graph before making it a project standard.
No SPDX license expression is published. Review the license text and your organisation's policy before redistribution.Compatibility metadata lists 1 target framework; confirm the exact target used by your application.
Related Guides & Workflows
Learn how to evaluate, integrate, or audit this package in your .NET project.