CSV文件转DataTable

CSV文件转DataTable

public DataTable CsvToDataTable(string vFilePath)
{
    DataTable dataTable = new DataTable();
    try
    {
        TextFieldParser textFieldParser = new TextFieldParser(vFilePath, Encoding.UTF8);
        textFieldParser.SetDelimiters(new string[]
        {
            ","
        });
        textFieldParser.HasFieldsEnclosedInQuotes = true;
        string[] array = textFieldParser.ReadFields();
        foreach (string text in array)
        {
            DataColumn dataColumn = new DataColumn();
            dataColumn.AllowDBNull = true;
            if (!string.IsNullOrEmpty(text))
            {
                dataColumn.ColumnName = text;
            }
            dataTable.Columns.Add(dataColumn);
        }
        while (!textFieldParser.EndOfData)
        {
            string[] array3 = textFieldParser.ReadFields();
            for (int j = 0; j < array3.Length; j++)
            {
                if (array3[j] == "")
                {
                    array3[j] = null;
                }
            }
            dataTable.Rows.Add(array3);
        }
        textFieldParser.Close();
    }
    catch (Exception ex)
    {
        throw new Exception("Csv to DataTable : \n" + ex.Message);
    }
    return dataTable;
}

 

posted @ 2021-05-05 10:05  码农阿亮  阅读(307)  评论(0编辑  收藏  举报