Skip to content
Simple library which aims to provide developers with an easy solution to map sheets (Google Sheets, Microsoft Excel, csv) to models
Branch: dev
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
src Renamed consoleapp to examples Jan 6, 2019
tools
.gitignore Removed and ignored vscode folder Apr 27, 2018
LICENSE
README.md
appveyor.yml Added nuget deploy to appveyor file Dec 28, 2018
build.cake Removed setting version from cake Jun 26, 2018
build.ps1

README.md

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

You can’t perform that action at this time.