FileHelpers is a free and easy to use .NET library to import or export data from fixed length or delimited records in files, strings or streams.
You can strongly type your flat file (fixed or delimited) by simply describing a class that maps to each record and later read or write your file as a strongly typed .NET array.
The library also has support to import or export data from different data storage types like Excel, Access, SqlServer, etc.
Basic Uses of the Library
Who needs the File Helpers Library ?
In almost every project there is a need to read or write data from/to a file of a specified format. For example, log parsing, data warehouse and OLAP applications, communication between systems, file format transformations (for example transforming from a fixed length to a CSV file).
This library aims to provide an easy and reliable way to accomplish this task.
Features
Auto Converters
The library has a set of converters for common types and can be easily extended to provide custom converters.Check the Example.
Event Support
The engines of the library contain events to make it easier to extend the behavior of the library.Check the INotifyRead and INotifyWrite Examples.
High Performance
The library doesn't use reflection to get or set the field values; it uses dynamic code generation.Wide framework support
You can use the library in.NET Framework 4.0, 4.5, .NET Standard 2.0, .NET Core 2.0 and Mono!
BigFileSorter
You can use the library to sort files with millions of records and MBs.Check the Example.
File Transform Engine
To convert files in one format to another (for example a file with CSV to a fixed length record format).FileDiffEngine
Provides the ability to compare files with the same record layout.Record by Record Mode
You can use the library to read line by line and not the whole file.Check the Example.
Open Source
The library is completely free to use in any kind of development.github.com/MarcosMeli/FileHelpers
Format Autodetection
The library can deduce the record class based on a couple of sample files.Check the Example.
License
The FileHelpers library is released under MIT License that allows the use of the code and binaries in all places, including commercial applications.
You can access the full source code of the library at GitHub: github.com/MarcosMeli/FileHelpers
Users
Most users are unknown, but some are known:- EasyLob
- EasyLOB is a Data-Driven Design Archetype for developing Web based .NET Line of Business (LOB) Applications.
References
One of the best references that assists in the development of this library is Framework Design Libraries, a complete guide for design and programming of libraries.