ExcelORM 2.0.1

dotnet add package ExcelORM --version 2.0.1
NuGet\Install-Package ExcelORM -Version 2.0.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="ExcelORM" Version="2.0.1" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add ExcelORM --version 2.0.1
#r "nuget: ExcelORM, 2.0.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.
// Install ExcelORM as a Cake Addin
#addin nuget:?package=ExcelORM&version=2.0.1

// Install ExcelORM as a Cake Tool
#tool nuget:?package=ExcelORM&version=2.0.1

ExcelORM

They say that if you want have something done right better do it yourself. This is usually not true for software development, but recently I’ve encountered a peculiar issue with my favorite Excel ORM library (Npoi.Mapper). For all the users, apart from myself, it was reading only first 170 rows. Why 170, and why only for them, I don’t know. But as I work with Excel files at work constantly and always wanted to play with such thing I’ve decided to create my own, very crude, Excel ORM.

It’s only doing simple reading and writing to and from C# objects. But it’s enough for me. I’ve not developed it from scratch, it’s using ClosedXML to manipulate Excel files. So, I’ve used the same type of license to honor it.

Check test cases to get an idea of how you should use this library. I may add some examples here later on.

There’s one limitation in ClosedXML where it produces Excel files incompatible either with Aspose.Cells or with a tool I’m using which uses Aspose.Cells for reading Excel files. Hence, I’ve added IExcelConverter to allow me to workaround it in my tools. You’ll probably not have to use it though.

It currently supports properties of types as supported by ClosedXML, so:

  • bool
  • double
  • string
  • DateTime
  • TimeSpan

And their nullable variants.

In version 2 I've added ability to read data dynamically without a need to create a special type. Useful when you need to read/write some not so organized data.

As always, feel free to use it however you desire. But I provide you with no guarantee whatsoever. Enjoy!

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

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
2.0.1 70 4/11/2024
2.0.0 68 2/29/2024
1.0.4 118 1/10/2024
1.0.3 75 1/9/2024
1.0.1 90 12/26/2023

Handling less types, but better.