GetoXs / SheetToObjects

Simple library which aims to provide developers with an easy solution to map sheets (Google Sheets, Microsoft Excel, csv) to models

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Build status Nuget Version

What is SheetToObjects?

A simple library which aims to provide developers with an easy solution to map sheets (Google Sheets, Microsoft Excel, csv) to a model/POCO.

Quickstart

Below is an example on how to get started:

//1. configure
var sheetMapper = new SheetMapper()
    .AddConfigFor<SomeModel>(cfg => cfg
        .AddColumn(column => column.WithHeader("First Name").IsRequired().MapTo(m => m.FirstName))
        .AddColumn(column => column.WithHeader("Middle Name").MapTo(m => m.MiddleName))
        .AddColumn(column => column.WithHeader("Last Name").IsRequired().MapTo(m => m.LastName))
        .AddColumn(column => column.WithHeader("Email").IsRequired().ShouldHaveUniqueValue()
            .Matches("^\S+@\S+$").MapTo(m => m.Email))
        .AddColumn(column => column.WithHeader("Age").WithCustomRule<int>(age => age > 18 && age <= 67)
            .MapTo(m => m.Email))
    );

//2. get sheet data
var sheet = await _googleSheetProvider.GetAsync(mySheetId, "'My SheetName'!A1:H5", myApiKey);

//3. do the mapping
var result = _sheetMapper.Map<MyModel>(sheet);

Documentation

For more information, check out the wiki

About

Simple library which aims to provide developers with an easy solution to map sheets (Google Sheets, Microsoft Excel, csv) to models

License:MIT License


Languages

Language:C# 96.7%Language:PowerShell 3.3%