ExtensionMethod.NET Home of 876 C#, Visual Basic, F# and Javascript extension methods

List To DataTable

List To Datatable


public static DataTable ToDataTable<T>(this IList<T> data)
    PropertyDescriptorCollection properties = TypeDescriptor.GetProperties(typeof(T));
    DataTable table = new DataTable();
    foreach (PropertyDescriptor prop in properties)
        table.Columns.Add(prop.Name, Nullable.GetUnderlyingType(prop.PropertyType) ?? prop.PropertyType);
    foreach (T item in data)
        DataRow row = table.NewRow();
        foreach (PropertyDescriptor prop in properties)
            row[prop.Name] = prop.GetValue(item) ?? DBNull.Value;
    return table;


List<string> myList = New String[]{"a","b","c","d"}.ToList();
DataTable dt = new DataTable();
dt = myList.ToDataTable();

Author: Keyur Panchal

Submitted on: 11 aug 2015

Language: C#

Type: DataTable, C#, List

Views: 12081