|
The FileHelpers are a free and easy to use .NET library to import/export
data from fixed
length or delimited records in files, strings or
streams.
The idea is pretty simple:
|
You can strong type your flat file (fixed or delimited) simply describing a class that
maps to each record and later read/write your file as an strong typed .NET array
|
The Library also has support for import/export data from differents storages like Excel,
Access, SqlServer, etc.
Start to use the FileHelper right now:
|
Free and Open Source
The FileHelpers are completely free because they are released under the LPGL Licence that allows the use of the code and binaries in all places, also in commercial applications.
You can access the full source code of the library via the Subversion Repository at SourceForge
Basic Uses of the Library


Who needs the File Helpers Library ?
In almost every project there is a need to read/write data from/to a file of a
specified format.
For example for log parsing, data warehouse and OLAP applications,
communication between systems, file format transformations (for example from a
fixed length to a CSV file).
This library aims to provide an easy and reliable way to accomplish this task.
Main Features
Easy to use: The FileHelpers Lib is straight forward to learn and use.
(see EasyExample)
Auto Converters: The library has a set of converters for the basic types
and can be easy extended to provide custom converters. (see
ConverterBase and Converter Example)
RunTime Classes
from the version 1.6.0 you can create you record class at run time, load them from files with source code or an Xml description (check
the example)
High Performance: From the version 2.0 the library dont use any more reflection to get or set the field values,
now we are using dynamic code generation (MSIL) and delegates
Master-Detail:
You can read and write records with a master/detail pattern. (see
Example1 and Example2)
Multiple record format support:
With the MultirecordEngine you can read files with different record layout, you can also read files with some delimited and some fixed length records. (see
Example)
Event Support:
The engines of the library contain some events to make you easy to extend the behavior of the library (see
Example)
Ms Excel Storage: Are
a way to extract / insert records between any source and an excel file. (see
ExcelDataStorage and ExcelDataLinkExample)
DataLinks: Are a way to extract / insert records between a database and a
file. (see DataStorage and
FileDataLinkExample)
GenericDataLink: Now
you can to copy records between
two Data Storages (see GenericDataLink
and DataStorage)
Asynchronous Mode: You can use the library to read line by line and not
the whole file. (see Async
Methods)
.NET Compact Framework Support From
the version 1.1 you can use the FileHelpers library for you PocketPC and
WindowsCE developments. (thanks Pierre)
File Transform Engine:
to convert files in one format to
another (for example a file with CSV to a FixedLength record format) (check
the example)
Progress Notification:
to get notified of the progress in each operation in the library (check
the example)
.NET 2.0 Generics:
the cast less and strong typed version of the engines (check
the example)
.NET 2.0 Nullable Types
now the library supports Nullable types in his core (check
the example)
FileDiffEngine
to allow compare files with the same record layout (check
the example)
Others Features
Files, Stream and String Support: You can use the library to read/write any stream or string, not only files. (see FileHelperEngine)
Different Error Behaviors: You can set the behavior of the library when
an error is found (throw and exception, ignore, save and continue, etc) (see the examples)
Quoted String Support
It allows to indicates that the field must be read and written as Quoted
String, like Excel CSV. (see FieldQuotedAttribute
)
Data Table Operations: The library supports to direct read a file to a datatable rather than an array
CommonEngine
a easy way to access to common operations (check
the example)
Encoding Aware : You can define the encoding used to read and write files
or streams. (see BaseEngine.Encoding)
NullValues : The library identifies the null values in the files and
assign an adequate value. (see FieldNullValueAttribute)
Good Documentation : The library is fully documented, al least is the
intention =) and with a lot of Examples of Use.
Align and Trimming: You can set the processing mode of the in/out strings
with a lot of attributes like the FieldAlignAttribute
and the FieldTrimAttribute.
Licence (LGPL)
FileHelpers Library is @Copyright 2005-2006 to Marcos
Meli but it's source code and the binaries are free for commercial
and non commercial use.
IŽll be happy to hear in what project are you using the library, if you wanna share this info with me only send a mail to:
marcos@filehelpers.com
References
One of the best references that makes the work of programming this library more
easy are the
Designing .NET Class Libraries, a complete guide for design and
programming of libraries and controls using the techniques of the creators and
gurus of .NET.
Contact and Ideas
The main site of contact of the library are the
FileHelpers Forums
If you find that there is a feature that I must include, or you have a new idea
(for the API, Source Code or Examples), only let me know, entering the forums or
sending an e-mail to
marcos@filehelpers.com
See also
See also
Must Read - Quick Start Guide - Attributes
List - F.A.Q. - Examples of
Use - Contacts & Credits - Donations