永发信息网

.net使用linq查出来的结果集如何导入到excel中

答案:1  悬赏:0  手机版
解决时间 2021-01-28 02:44
  • 提问者网友:沦陷
  • 2021-01-27 17:19
代码如下: var queryResult = from material in entities.WH_Materiel where material.Materiel_State == 0 select new { material.Materiel_ID, material.Materiel_Code , material.Materiel_Name, MaterialClassName = material.WH_MaterielClass.MaterielClass_Name, material.Materiel_Description, material.Materiel_SCN, material.Materiel_SAP_No, material.SortBy }; queryResult = queryResult.OrderBy(t => t.SortBy); int count = queryResult.Count();怎么把这个queryResult导入到excel中。之前导的dataset datatable可以解决问题追加!
最佳答案
  • 五星知识达人网友:撞了怀
  • 2021-01-27 17:52
queryResult.ToList() 将它转换成datatable。 ///
/// Ilist 转换成 DataTable
///

///
///
private DataTable ConvertToDataTable(IList i_objlist)
{
if (i_objlist == null || i_objlist.Count <= 0)
{
return null;
}
DataTable dt = new DataTable();
DataRow row;
string namess = i_objlist[0].GetType().Name;
System.Reflection.PropertyInfo[] myPropertyInfo = i_objlist[0].GetType().GetProperties();
foreach (System.Reflection.PropertyInfo pi in myPropertyInfo)
{
if (pi == null)
{
continue;
}
dt.Columns.Add(pi.Name, System.Type.GetType(pi.PropertyType.ToString()));
}
for (int j = 0; j < i_objlist.Count; j++)
{
row = dt.NewRow();
for (int i = 0; i < myPropertyInfo.Length; i++)
{
System.Reflection.PropertyInfo pi = myPropertyInfo[i];
row[pi.Name] = pi.GetValue(i_objlist[j], null);
}
dt.Rows.Add(row);
}
return dt;
}
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯