Here is a simple code to read CSV file and convert it to a DataTable using CSharp (C#). String enclosed with double quotes will not break the convertion process. In my previous post I have converted a DataTable to CSV with it's header. Check my previous post Click Here. So I have taken the first line in CSV as DataTable column headers. C# Code:
public static DataTable ConvertCSVtoDataTable(string strFilePath) { StreamReader sr = new StreamReader(strFilePath); string[] headers = sr.ReadLine().Split(','); DataTable dt = new DataTable(); foreach (string header in headers) { dt.Columns.Add(header); } while (!sr.EndOfStream) { string[] rows = Regex.Split(sr.ReadLine(), ",(?=(?:[^\"]*\"[^\"]*\")*[^\"]*$)"); DataRow dr = dt.NewRow(); for (int i = 0; i < headers.Length; i++) { dr[i] = rows[i]; } dt.Rows.Add(dr); } return dt; }Call the ConvertCSVtoDataTable function like below by passing path of the CSV file.
static void Main(string[] args) { string filepath = "d://ConvertedFile.csv"; DataTable res = ConvertCSVtoDataTable(filepath); }