为了账号安全,请及时绑定邮箱和手机立即绑定

复制到新数据表时,linq 排除某些列

复制到新数据表时,linq 排除某些列

C#
慕妹3146593 2021-06-03 22:06:21
我正在尝试使用 OpenXML 和 LoadfromDataTable 创建一个 Excel 工作表。如果有更好的功能,我不会嫁给那个功能。我正在尝试排除数据表列,以便它们不会出现在 Excel 工作表中。例如,我有一个包含“ID”、“名称”和“地址”列的数据表。   ID Name  Address   1  Name1 So SO Street   2  Name2 Do Do Street我想要做的是创建一个只有列名称和地址并排除 ID 的新数据表。我有一个 linq 查询,它获取我希望在新数据表中看到的列列表,如下所示:var columns = dt1.Columns.Cast<DataColumn>().Where(c => c.ColumnName != "ID").ToList();我试图弄清楚如何使用该列表来创建一个仅包含列表中那些列的新数据表。
查看完整描述

2 回答

?
慕的地8271018

TA贡献1796条经验 获得超4个赞

从您的数据表中,您只能使用.Select选择几列


var result = from a in new DataContext().DataColumn

                 where a.ColumnName != "ID"

                 select new {a.NotForExcel, a.ExcelColumn1, a.ExcelColumn2 };


var ExcelList = result.AsEnumerable()

                              .Select(o => new DataColumn {

                                               Column1 = o.ExcelColumn1, 

                                               Column2 = o.ExcelColumn2 

                              }).ToList();


查看完整回答
反对 回复 2021-06-05
  • 2 回答
  • 0 关注
  • 146 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信