CSV Reports

$ 19.95

Easily read and write complex CSV files.

  • Read and write CSV Files with a single line of code.
  • Handles double quotes, embedded commas, escaped commas, and columns that span multiple lines.
  • Read CSV from files, streams, or strings into lists, dictionaries, lists of objects, and data tables.
  • Supports mapping to primitive type properties plus complex types such as GUID, Enum, and DateTime.
  • Write CSV from lists of objects or data tables to CSV files, streams, and strings.
  • Handles bad data such as blank lines and extraneous columns
  • Also handles tab, and pipe delimited files.
  • Supports IDataReader for performing a SQLBulkCopy
  • Works with the .NET Framework 3.5 and higher or .NET Core 2.0 and higher, or .NET Standard 2.0 and higher
  • Distribute with your application royalty free.

While it can be purchased separately, this product is also included in the Gold Suite. Gold Suite subscribers receive all product updates and all new products as part of a yearly subscription. It is the best value in the industry.

Download a free 30 day trial today.

  • Full working version
  • Includes technical support
  • Compatible with Windows, macOS, Linux, iOS, Android and Docker.
  • Compatible with .NET Framework 3.5 and higher, .NET Core 2.0 and higher, Mono 5.4 and higher, Xamarin.iOS 10.14 and higher, Xamarin.Mac 3.8 and higher, Xamarin.Android 8.0 and higher, Universal Windows Platform 10.0.16299 and higher, Unity 2018.1 and higher, .NET 5, and .NET 6.

Download Options

The CSV Reports Library requires the following system configuration.

  • Compatible with Windows, macOS, Linux, iOS, Android and Docker.
  • Compatible with .NET Framework 3.5 and higher, .NET Core 2.0 and higher, Mono 5.4 and higher, Xamarin.iOS 10.14 and higher, Xamarin.Mac 3.8 and higher, Xamarin.Android 8.0 and higher, Universal Windows Platform 10.0.16299 and higher, Unity 2018.1 and higher, .NET 5, and .NET 6.
// **** CSV Reader
public class TestMapper
{
    public string Name { get; set; }
    public string Birthdate { get; set; }
}
    
CsvReader csvReader = new CsvReader(); //Trial Mode
//CsvReader csvReader = new CsvReader("place user name here", "place license key here"); //License Mode

//Create a test file
string filePath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "testReader.csv");
File.WriteAllText(filePath, "Name,Birthdate\r\nJohn,5/30/2013");

List<NormalMapper> results = csvReader.CsvFileToObjectList<NormalMapper>(filePath);
Console.WriteLine(results[0].Name);

 
// **** CSV Writer
public class Person
{
    public string FirstName { get; set; }
    public string LastName { get; set; }
    public DateTime BirthDate { get; set; }
}

CsvWriter csvWriter = new CsvWriter(); //Trial Mode
//CsvWriter csvWriter = new CsvWriter("place user name here", "place license key here"); //License Mode

List<Person> persons = new List<Person>();
Person person1 = new Person();
person1.FirstName = "John";
person1.LastName = "Smith";
person1.BirthDate = DateTime.Now.AddDays(-1);
persons.Add(person1);

string filePath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "testWriter.csv");
csvWriter.ClassListToCsvFile(persons,filePath);
Console.WriteLine(File.ReadAllText(filePath));

Q: How do I use my license key?
A: CsvWriter csvWriter = new CsvWriter("place user name here", "place license key here");

Q: I lost my license key how do I retrieve it?
A: Go to your account

Q: I lost my software how do I retrieve it?
A: Go to downloads

Q: Where can I download the latest version of my software?
A: Click the download tab.

Q: How does the licensing work?
A: Each developer that uses the library must have a license. You may distribute your application to end users royalty free. A site license is for all the developers in a single building.

Q: What happens when the trial expires?
A: An exception is thrown, indicating that the trial is expired.

Date Version Description
6/3/2013 1.0.0 Initial Release. Read and write CSV files with a single line of code. Reads from files, streams, strings into lists, dictionaries, lists of objects and data tables. Writes from lists of objects or data tables to files, streams, and strings. Handles embedded commas, double quotes, escaped commas, and columns that span multiple lines.
6/25/2013 1.2.0 This update fixes two issues with reading duplicate double quotes and trailing double quotes.
11/23/2013 1.3.0 New build for .NET Framework 4.5 and 4.5.1.
3/22/2014 1.4.0 New build for .NET Framework 4.5 and 4.5.1.
3/22/2014 1.5.0 New feature requested by a customer to read CSV files with no header.
7/7/2014 1.6.0 New feature requested by a customer to read CSV files with no header.
10/4/2014 1.7.0 By customer request CSV Reports now includes the ability trim spaces.
10/18/2014 1.8.0 This update fixes a compatibility issue with projects using ClickOnce deployments.  It also includes a feature to append to a CSV string.
1/7/2015 1.11.0 By customer request, it is now possible to change the encoding with a new DefaultEncoding property.
6/6/2015 2.1.0 Major update to the CSV Reports Library.  By customer request, it now includes the ability to return an IDataReader to be used for SQLBulkCopy.
6/20/2015 2.2.0 Project site url change.
2/8/2016 2.5.0 New features: QuoteEachField property which forces quote characters around all fields. CSV Reports remains 100% managed code but can now also be used with COM applications. It is now possible to use the CustomColumnNames property to specify the header text of columns.
2/24/2016 2.6 Builds for .NET Framework 4.5.2 and 4.6.
6/18/2016 2.9 By customer request, the CsvWriter now has the ability to specify the date format. It is also now possible to specify the output order for a data table. The help file was added to the NuGet package
7/10/2016 2.10 Fix for flushing the text writer
6/11/2017 2.14 By customer request, the CsvReader now has the ability to perform a PreProcessFile which will replace CR with CRLF if the line does not already end with CRLF.
3/31/2019 3.00 New features include support for .NET Standard, .NET Core, mapping values to all primitive types and complex types such as GUID, Enum, and DateTime. It also handles nullable primitive types.
9/14/2019 3.12 Builds for .NET Framework 4.7, 4.7.1, 4.7.2, and 4.8.
7/28/2022 3.18 Fix Object Reference Error for Xamarin Forms.