List<t_emp> 转DataTable
--(1)
private static DataTable GetBatchInsertDataTable
{
DataTable dt = new DataTable();
Type t = typeof(T);
PropertyInfo[] propertys = t.GetProperties();
foreach (var item in propertys)
{
dt.Columns.Add(item.Name);
}
foreach (var item in list)
{
	ArrayList tempList = new ArrayList();
	foreach (var p in propertys)
	{
		object obj = p.GetValue(item);
		tempList.Add(obj);
	}
	dt.LoadDataRow(tempList.ToArray(), true);
}
return dt;
}
--(2)
private DataTable listToDataTable
{
//实列化DataTable对象
var dt = new DataTable(typeof(T).Name);
//通过反射获取List实体的属性信息
PropertyInfo[] propertyInfos = typeof(T).GetProperties(BindingFlags.Public | BindingFlags.Instance);
//给DataTable 添加定义
foreach (var propertyInfo in propertyInfos)
{
	dt.Columns.Add(propertyInfo.Name, propertyInfo.PropertyType);
}
//给DataTable 添加数据
foreach (T item in ListItem)
{
	var values = new object[propertyInfos.Length];
	for (int i = 0; i < propertyInfos.Length; i++)
	{
		values[i] = propertyInfos[i].GetValue(item);
	}
	dt.Rows.Add(values);
}
//返回DataTable
return dt;
}
 
                    
                     
                    
                 
                    
                 
                
            
         
 
         浙公网安备 33010602011771号
浙公网安备 33010602011771号