CsvTo 3.0.0
dotnet add package CsvTo --version 3.0.0
NuGet\Install-Package CsvTo -Version 3.0.0
<PackageReference Include="CsvTo" Version="3.0.0" />
<PackageVersion Include="CsvTo" Version="3.0.0" />
<PackageReference Include="CsvTo" />
paket add CsvTo --version 3.0.0
#r "nuget: CsvTo, 3.0.0"
#:package CsvTo@3.0.0
#addin nuget:?package=CsvTo&version=3.0.0
#tool nuget:?package=CsvTo&version=3.0.0
CsvTo
A Csv tool used for converting csv file or stream to datatable/object(IEnumerable), support csv with or without header, support multiple encodings for international languages, do not support type with complex type property.
Features
- ✅ Forward and reverse reading of CSV files
- ✅ Convert to DataTable or IEnumerable<T>
- ✅ Support for files with or without headers
- ✅ Multiple encoding support (UTF-8, UTF-16, etc.) for international languages
- ✅ Custom delimiter and escape character support
- ✅ Stream and file path input
- ✅ Optimized for large files
- ✅ .NET Framework 4.7+ and .NET 5-9 support
Installation
Install-Package CsvTo
How to use
Non-generic converter (returns values as string)
Forward read
var converter = new CsvTo.CsvConverter(file);
DataTable dt = converter.ToDataTable();
IEnumerable<string[]> c = converter.ToCollection();
Reverse read
var r_converter = new CsvTo.CsvReverseConverter(file);
DataTable r_dt = r_converter.ToDataTable();
IEnumerable<string[]> r_c = r_converter.ToCollection();
Generic converter (returns DataTable with typed columns / IEnumerable<Type>)
Forward read
var g_converter_1 = new CsvTo.CsvConverter<Test1>(file1);
DataTable g_dt = g_converter_1.ToDataTable();
IEnumerable<Test1> g_c = g_converter_1.ToCollection();
Reverse read
var g_r_converter_1 = new CsvTo.CsvReverseConverter<Test1>(file1);
DataTable g_r_dt = g_r_converter_1.ToDataTable();
IEnumerable<Test1> g_r_c = g_r_converter_1.ToCollection();
Encoding Support (New in v3.0)
Support for multiple encodings including international languages:
// Chinese CSV with UTF-8 encoding
var converter = new CsvTo.CsvConverter(file, encoding: Encoding.UTF8);
// Japanese CSV
var converter2 = new CsvTo.CsvConverter(japaneseFile, encoding: Encoding.UTF8);
// Custom encoding
var converter3 = new CsvTo.CsvConverter(file, encoding: Encoding.GetEncoding("GB2312"));
// Default encoding is UTF-8
var converter4 = new CsvTo.CsvConverter(file); // Uses UTF-8 by default
Custom Delimiter and Escape
// Semicolon delimiter
var converter = new CsvTo.CsvConverter(file, delimiter: ";");
// Tab delimiter
var converter2 = new CsvTo.CsvConverter(file, delimiter: "\t");
// Custom escape character
var converter3 = new CsvTo.CsvConverter(file, escape: "'");
Stream Input
using (var stream = File.OpenRead(filePath))
{
var converter = new CsvTo.CsvConverter(stream, encoding: Encoding.UTF8);
var dt = converter.ToDataTable();
}
Supported Frameworks
- .NET Framework 4.7, 4.7.1, 4.7.2, 4.8
- .NET Core 2.0, 2.1, 2.2, 3.1
- .NET Standard 2.0, 2.1
- .NET 5, 6, 7, 8, 9
License
MIT
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 is compatible. net5.0-windows was computed. net6.0 is compatible. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 is compatible. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 is compatible. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
| .NET Core | netcoreapp2.0 is compatible. netcoreapp2.1 is compatible. netcoreapp2.2 is compatible. netcoreapp3.0 was computed. netcoreapp3.1 is compatible. |
| .NET Standard | netstandard2.0 is compatible. netstandard2.1 is compatible. |
| .NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 is compatible. net471 is compatible. net472 is compatible. net48 is compatible. net481 was computed. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen40 was computed. tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETCoreApp 2.0
- No dependencies.
-
.NETCoreApp 2.1
- No dependencies.
-
.NETCoreApp 2.2
- No dependencies.
-
.NETCoreApp 3.1
- No dependencies.
-
.NETFramework 4.7
- No dependencies.
-
.NETFramework 4.7.1
- No dependencies.
-
.NETFramework 4.7.2
- No dependencies.
-
.NETFramework 4.8
- No dependencies.
-
.NETStandard 2.0
- No dependencies.
-
.NETStandard 2.1
- No dependencies.
-
net5.0
- No dependencies.
-
net6.0
- No dependencies.
-
net7.0
- No dependencies.
-
net8.0
- No dependencies.
-
net9.0
- No dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Version 3.0.0:
- Added 9 comprehensive examples demonstrating all library features
- Added performance benchmarking project with BenchmarkDotNet
- Expanded test coverage to 100+ test scenarios
- Verified multi-language support (Chinese, Japanese, Spanish)
- Enhanced documentation and real-world usage examples
- Full backward compatibility with 2.x versions