Read CSV file and Get Record in DataTable using TextFieldParser in C#

By using TextFieldParser you have to import one reference using Microsoft.VisualBasic.FileIO.

public static DataTable GetDataTabletFromCSVFile(string csv_file_path)
{
   DataTable csvData = new DataTable();
   try
     {
         using (TextFieldParser csvReader = new TextFieldParser(csv_file_path))
         {
            csvReader.SetDelimiters(new string[] { "," });
            csvReader.HasFieldsEnclosedInQuotes = true;
            //read column names
            string[] colFields = csvReader.ReadFields();
            foreach (string column in colFields)
            {
               DataColumn datecolumn = new DataColumn(column);
               datecolumn.AllowDBNull = true;
               csvData.Columns.Add(datecolumn);
            }
            while (!csvReader.EndOfData)
            {
               string[] fieldData = csvReader.ReadFields();
               //Making empty value as null
               for (int i = 0; i < fieldData.Length; i++)
               {
                  if (fieldData[i] == "")
                  {
                     fieldData[i] = null;
                  }
               }
               csvData.Rows.Add(fieldData);
            }
         }
      }
      catch (Exception ex)
      {
         MessageBox.Show(ex.Message);
      }
      return csvData;

}