A very basic library to export any C# object to a csv or binarized format file.
The classes whose objects will be exported should be annotated with the included DataAnnotation tags.
Annotate the classes that will be exported
using Linq2Csv.DataAnnotations;
public class User
{
[Exportable(GlobalOrder = 0, Order = 0, Name = "userID")]
public int Id { get; set; }
[Exportable]
public virtual Demographic Demographic { get; set; }
[NonExportable
private string SomeSecreteValue {get; set;}
}
A usage example of the library.
public void ExportSomeObject<T>(string filePath, ICollection<T> data){
Linq2Csv.Exporter.ShowDebugInfo = true; // for debug environment only
using (var exporter = new Linq2Csv.Exporter())
{
exporter.TreatEnumerablesAsColumns = false; // choose the best fit for your needs
exporter.GenerateCsv(data, filePath);
}
}
Just include de Linq2Csv.dll to your project references, and add a reference to such dll
using Linq2Csv;
Property | Default | Description |
---|---|---|
ShowDebugInfo | False | Shown in console what's happening in the process |
Separator | , | Separator to use in file, this allow creation of other that csv file formats |
NullValue | What to put when a null valued property is found | |
TreatEnumerableAsColumns | False | Each enumerable item will be a Column or a new Row |
This is a very basic funcionality resulting from a side project, separated and published as project for anyone that need it.
All contributions all welcome, please contact or ask for push permissions.
- Sergio Inunza - Initial work - Linq2Csv
This project is licensed under the MIT License - see the LICENSE.md file for details