SheetsSerializer 1.0.0
dotnet add package SheetsSerializer --version 1.0.0
NuGet\Install-Package SheetsSerializer -Version 1.0.0
<PackageReference Include="SheetsSerializer" Version="1.0.0" />
<PackageVersion Include="SheetsSerializer" Version="1.0.0" />
<PackageReference Include="SheetsSerializer" />
paket add SheetsSerializer --version 1.0.0
#r "nuget: SheetsSerializer, 1.0.0"
#:package SheetsSerializer@1.0.0
#addin nuget:?package=SheetsSerializer&version=1.0.0
#tool nuget:?package=SheetsSerializer&version=1.0.0
SheetsSerializer
SheetsSerializer is a lightweight and extensible library to map Google Sheets data to C# objects using custom attributes. Ideal for those who need to consume spreadsheets as a source of structured data.
β¨ Features
- Direct mapping by spreadsheet header (with attribute support)
- Automatic conversion of basic types (
int,bool,DateTime,enum, etc.) - Extensible with custom converters (coming soon)
- No external dependencies
π Installation
Via NuGet:
dotnet add package SheetsSerializer
Or via Package Manager:
Install-Package SheetsSerializer
π§ How to Use
1. Define your target class
using SheetsSerializer.Annotations;
public class Student
{
[SheetColumn("Nome completo")]
public string Name { get; set; }
[SheetColumn("Idade")]
public int Age { get; set; }
[SheetColumn("Data de inscriΓ§Γ£o")]
public DateTime RegistrationDate { get; set; }
}
If you don't use
[SheetColumn], the property name will be used as a fallback.
2. Use the serializer
using SheetsSerializer.Serialization;
// Assuming 'values' is IList<IList<object>> returned from Google Sheets
var serializer = new SheetsSerializer<Student>();
List<Student> students = serializer.Deserialize(values);
β Supported Types
stringint,double,decimal,floatbool("true","1"or"false","0")DateTime- Enums
π Roadmap
- Serialization support (object β Google Sheets)
- Custom converter registration
- Field-level validation feedback
- Performance improvements (expression caching)
- Integration with Google Sheets API (outside core scope)
π Structure
SheetsSerializer/
βββ Annotations/
β βββ SheetColumnAttribute.cs
βββ Serialization/
β βββ SheetsSerializer.cs
π§ͺ Testing
Coming soon: examples with xUnit/NUnit and mocked Google Sheets responses.
π License
π Contributions
Contributions are welcome! Feel free to open issues or PRs.
π¬ Contact
Created by Lucas Silva.
Questions, suggestions, or bugs? Open an issue.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | 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. |
-
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 |
|---|---|---|
| 1.0.0 | 282 | 7/4/2025 |