Cellwright 0.1.3
dotnet add package Cellwright --version 0.1.3
NuGet\Install-Package Cellwright -Version 0.1.3
<PackageReference Include="Cellwright" Version="0.1.3" />
<PackageVersion Include="Cellwright" Version="0.1.3" />
<PackageReference Include="Cellwright" />
paket add Cellwright --version 0.1.3
#r "nuget: Cellwright, 0.1.3"
#:package Cellwright@0.1.3
#addin nuget:?package=Cellwright&version=0.1.3
#tool nuget:?package=Cellwright&version=0.1.3
Cellwright
A modern .NET 10 Excel library, layered like System.Text.Json: primitives → constant-memory
streaming → mutable DOM → source-generated typed mapping. Data-oriented cell storage — column
slices in 512-row pages, not an object per cell. Async-first I/O, zero reflection, Native AOT
and trimming safe. Apache-2.0 licensed.
using Cellwright;
// Read
Workbook book = await Workbook.LoadAsync("report.xlsx");
Worksheet sheet = book.Sheets[0];
CellValue total = sheet["B10"];
// Edit
sheet["C2"] = 1234.5;
sheet.Cell("C2").SetStyle(CellStyle.Default.Bold().NumberFormat("#,##0.00"));
sheet.Cell("C3").SetFormula("SUM(C1:C2)");
// Write
await book.SaveAsync("report.xlsx");
What the core package covers
- Constant-memory streaming: forward-only
XlsxWriter(UTF-8 straight to the wire) andXlsxReader(IAsyncEnumerable<RowData>) for files of any size. - A full worksheet model: values, styles, formulas (round-tripped as text), merged cells, freeze panes, hidden rows and columns, grouping, auto-filter, hyperlinks, notes and threaded comments, Excel tables, data validation, conditional formatting, page setup, protection, document properties, rich text runs, embedded charts (read and create), pictures.
- Lossless editing of foreign files: pivot tables, themes, macros and anything else the model does not represent travels through byte for byte; renaming a sheet retargets formulas, defined names and chart references.
- Styles per ISO/IEC 29500 §18.8: immutable records with free interning, fluent builders, pattern and gradient fills, theme colors, cell protection.
- Recovery-oriented loading: recoverable problems become coded
WorkbookWarnings instead of exceptions, and hostile input (zip bombs, wrong formats) is named rather than crashed on. - Markdown export:
book.ToMarkdown()renders sheets as GitHub Flavored Markdown tables.
The Cellwright family
| Package | Adds |
|---|---|
Cellwright |
The core: primitives, streaming, DOM (this package) |
Cellwright.Formulas |
Calculation engine: 447 functions, incremental recalc, dynamic array spill |
Cellwright.Mapping |
Typed row mapping via a Roslyn source generator |
Cellwright.Xls |
Legacy .xls read/write, .xlsb read, encryption, VBA extraction |
Cellwright.Pdf |
Prints workbooks to PDF the way Excel prints them |
Documentation
Guides, per-feature docs and the full list of deliberate limitations live in the repository: https://github.com/WrightDocumentSuite/cellwright
Every deviation from the spec is documented and reported through diagnostics — nothing is silently dropped or approximated without saying so.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- No dependencies.
NuGet packages (4)
Showing the top 4 NuGet packages that depend on Cellwright:
| Package | Downloads |
|---|---|
|
Cellwright.Formulas
Formula engine for Cellwright: span-based parser into a compact RPN program, allocation-light stack-machine evaluator with Excel semantics, dependency-driven incremental recalculation and 447 worksheet functions. Zero reflection, Native AOT ready. |
|
|
Cellwright.Xls
Binary Excel format support for Cellwright: reads .xls (Excel 97-2003 and older) and .xlsb (BIFF12) workbooks into the same Workbook model, decrypts password-protected files of any format, decodes formulas, extracts VBA macro source, and writes BIFF8 back. Span-based, allocation-light, Native AOT ready. |
|
|
Cellwright.Mapping
Typed row mapping for Cellwright via a Roslyn incremental source generator: zero reflection, Native AOT ready. Read and write sheets as strongly-typed records. |
|
|
Cellwright.Pdf
Renders Cellwright workbooks to PDF the way Excel prints them: the grid with its styles and number formats, two-dimensional pagination with scaling, repeated titles, headers and footers, on top of Inkwright. No Office and no native dependency. |
GitHub repositories
This package is not used by any popular GitHub repositories.