Giter Site home page Giter Site logo

josdeweger-zz / sheettoobjects Goto Github PK

View Code? Open in Web Editor NEW
15.0 2.0 7.0 1.6 MB

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

License: MIT License

C# 96.71% PowerShell 3.29%
csv google-sheets excel excel-import excelparser comma-seperated-values mapping

sheettoobjects's People

Contributors

frankvanderlinden avatar jacobduijzer avatar josdeweger avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

sheettoobjects's Issues

Configuring default values for non-nullables

when a property is:

  • not nullable
  • not required

then in the column config a default value should be obligatory, otherwise there is no way to know to what value the property should be set (0? MinValue? MaxValue?)

Protected Sheets as separate nuget package

I think it would be better to create a separate package for the protected sheets because it uses different nuget packages as reference: especially the google packages, I would not want them in my project if I didn't use them. Either way for the Refit package, which is not used for the protected sheets.

Any comments on this?

Stop parsing when cell x has value y

I am importing product data but when importing I do not know the number of rows so I provide a large value (for Excel), e.g. 100000 rows. It takes a serious amout of time to parse the document while there are only 10 rows available.

It should be nice to have a StopParsingRule, e.g.:

var sheetMapper = new SheetMapper()
                .AddConfigFor<AdditionExcelImport>(cfg => cfg
.MapColumn(column => column
                        .WithHeader("Code")
                        .MapTo(m => m.Code)
.StopParsingWhen(x => x == null)
)

I might try and implement something like this but would like to know if anyone else have an interest in this feature.

Make internals in Core and Lib public

It is impossible to extend the library with new adapters unless it's done in the same codebase. The classes in both the core and lib project needed to create a new adapter should be public for better extendability.

Easier registering of configurations

Create something similar like AutoMapper Profiles, that can be discovered via assembly scanning.
This will also allow for a services.AddSheetToObjects() extension method that will handle all registrations

Configuration validation

Add validation for several parts of the fluent configuration, provide developer with proper feedback about their config

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.