SpreadSheetTasks 0.4.1

dotnet add package SpreadSheetTasks --version 0.4.1
                    
NuGet\Install-Package SpreadSheetTasks -Version 0.4.1
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="SpreadSheetTasks" Version="0.4.1" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="SpreadSheetTasks" Version="0.4.1" />
                    
Directory.Packages.props
<PackageReference Include="SpreadSheetTasks" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add SpreadSheetTasks --version 0.4.1
                    
#r "nuget: SpreadSheetTasks, 0.4.1"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package SpreadSheetTasks@0.4.1
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=SpreadSheetTasks&version=0.4.1
                    
Install as a Cake Addin
#tool nuget:?package=SpreadSheetTasks&version=0.4.1
                    
Install as a Cake Tool

SpreadSheetTasks

The .NET library for fast reading and writing Excel files (.xlsx, .xlsb). Some methods/ideas based on great libraries :

Installation

https://www.nuget.org/packages/SpreadSheetTasks/

Install-Package SpreadSheetTasks

dotnet add package SpreadSheetTasks

Usage

Read

using (XlsxOrXlsbReadOrEdit excelFile = new XlsxOrXlsbReadOrEdit())
{
   excelFile.Open("file.xlsx");
   excelFile.ActualSheetName = "sheet1";
   object[] row = null;
   while (excelFile.Read())
   {
       row ??= new object[excelFile.FieldCount];
       excelFile.GetValues(row);
   }
}

Write

using (XlsbWriter xlsx = new XlsbWriter("file.xlsb"))
{
  xlsx.AddSheet("sheetName");
  xlsx.WriteSheet(dataReader);
}

Benchamarks

XLSB Read

Method FileName Mean Error StdDev Gen0 Gen1 Gen2 Allocated
'SpreadSheetTasks - XLSB Read - v1' 200kFile.xlsb 99.03 ms 1.925 ms 1.607 ms 5400.0000 3800.0000 1400.0000 68.48 MB
'SpreadSheetTasks - XLSB Read - v2' 200kFile.xlsb 115.19 ms 2.246 ms 3.148 ms 5000.0000 3500.0000 1000.0000 49.03 MB
'Sylvan.Data.Excel - XLSB Read' 200kFile.xlsb 127.57 ms 2.508 ms 3.433 ms 6000.0000 3000.0000 1000.0000 50.82 MB
'SpreadSheetTasks - XLSB Read - v1' 65K_R(...).xlsb [21] 49.02 ms 0.204 ms 0.191 ms 2363.6364 818.1818 727.2727 28.83 MB
'SpreadSheetTasks - XLSB Read - v2' 65K_R(...).xlsb [21] 64.47 ms 0.833 ms 0.696 ms 1666.6667 - - 13.66 MB
'Sylvan.Data.Excel - XLSB Read' 65K_R(...).xlsb [21] 71.58 ms 0.512 ms 0.479 ms 2875.0000 125.0000 - 23.16 MB

XLSX Read

Method Mean Error StdDev Gen0 Gen1 Gen2 Allocated
SpreadSheetTasks200K 244.0 ms 1.03 ms 0.91 ms 5000.0000 3000.0000 1000.0000 35040.13 KB
Sylvan200k 329.5 ms 4.45 ms 4.16 ms 6000.0000 3000.0000 1000.0000 52319.76 KB
SpreadSheetTasks65k 170.4 ms 1.46 ms 1.37 ms - - - 491.09 KB
Sylvan65K 172.8 ms 1.13 ms 1.06 ms - - - 661.50 KB

XLSB Write

Method ReaderType Mean Error StdDev Gen0 Gen1 Allocated
'SpreadSheetTasks - XLSB Write' GENERAL 116.6 ms 1.60 ms 1.50 ms 1600.0000 - 30.57 MB
XlsbSylvanWrite GENERAL 162.4 ms 2.27 ms 2.12 ms 1666.6667 - 36.75 MB

XLSX Write

Method ReaderType Mean Error StdDev Gen0 Gen1 Allocated
'SpreadSheetTasks - XLSX Write' GENERAL 171.1 ms 2.24 ms 1.99 ms 1500.0000 - 30.74 MB
'Sylvan - XLSX Write' GENERAL 220.6 ms 2.83 ms 2.51 ms 2500.0000 1000.0000 42.94 MB

https://github.com/KrzysztofDusko/SpreadSheetTasks

Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 is compatible.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
  • net8.0

    • No dependencies.
  • net9.0

    • No dependencies.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
0.4.1 98 7/27/2025
0.4.0 180 5/18/2025
0.3.2 557 10/23/2024
0.3.1 204 8/25/2024
0.3.0 254 5/12/2024
0.2.17 293 2/16/2024
0.2.16 164 2/15/2024
0.2.14 264 1/13/2024
0.2.13 201 1/6/2024
0.2.12 253 11/25/2023
0.2.11 194 11/4/2023
0.2.10 188 11/4/2023
0.2.9 153 11/4/2023
0.2.8 180 9/26/2023
0.2.7 181 9/19/2023
0.2.6 181 9/18/2023
0.2.5 182 9/16/2023
0.2.4 463 3/5/2023
0.2.3 1,115 12/1/2022
0.2.2 514 10/22/2022
0.2.1 514 8/9/2022
0.2.0 484 8/7/2022
0.1.2 614 3/21/2022
0.1.1 432 12/3/2021
0.1.0 409 11/9/2021
0.0.4 504 10/23/2021
0.0.3 509 10/17/2021
0.0.2 425 9/19/2021
0.0.1 400 9/18/2021

Performance improvements, Csv writer preview