using System;
using System.Data;
using System.IO;
namespace Quadarax.Foundation.Common.Data
{
public static class CsvHelper
{
///
/// Read CSV file and creates with filled content.
///
/// This method expects first header row.
///
///
/// (*.csv) full file name.
/// Delimiter character
/// New created DataTable with content.
public static DataTable CsvToDataTable(string csvFile, string delimiter)
{
var dt = new DataTable();
using (var sr = new StreamReader(csvFile))
{
var headers = sr.ReadLine().Split(new string[] { delimiter }, StringSplitOptions.RemoveEmptyEntries);
foreach (var header in headers)
{
dt.Columns.Add(header);
}
while (!sr.EndOfStream)
{
var rows = sr.ReadLine().Split(new[] { delimiter }, StringSplitOptions.None);
var dr = dt.NewRow();
for (var i = 0; i < headers.Length; i++)
{
dr[i] = rows[i];
}
dt.Rows.Add(dr);
}
}
return dt;
}
}
}