net10.0
Excelsior is an Excel spreadsheet generation library with a distinctive data-driven approach.
Published
Oct 12, 2026
6d ago
Total Downloads
18.2K
18,221
Install
dotnet add package Excelsior --version 6.5.3
| 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
No structural changes between v6.5.2 and v6.5.3.
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.