可以使用下面的方法转
public static DataTable ToDataTable(dynamic items)
{
DataTable dtDataTable = new DataTable();
if (items.Count == 0)
return dtDataTable;
((IEnumerable)items[0]).Cast<dynamic>().Select(p => p.Name).ToList().ForEach(col => { dtDataTable.Columns.Add(col); });
((IEnumerable)items).Cast<dynamic>().ToList().
ForEach(data =>
{
DataRow dr = dtDataTable.NewRow();
((IEnumerable)data).Cast<dynamic>().ToList().ForEach(Col => { dr[Col.Name] = Col.Value; });
dtDataTable.Rows.Add(dr);
});
return dtDataTable;
}
也可以使用Json序列化,反序列化转,但是会存在OOM的问题。