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
string
int
,double
,decimal
,float
bool
("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 | 85 | 7/4/2025 |