读书人

Datatable合拢行列值累加

发布时间: 2013-07-09 09:50:47 作者: rapoo

Datatable合并行,列值累加
数据是从excel中读取出来的

下面是一段数据,后面还有很多列,怎么根据第一列的相同字段合并行(后面的数据如果同属于一个material需要相加)

MaterialMaterial DescriptionDoc.typeDocument <W05/13  W05/13 W06/13  W07/13  W08/13  W09/13 W10/13  W11/13

7542238-01Fin.Ampl. 350W 1930-1995 43dBTr.Schd. fix550000101727
7542238-01Fin.Ampl. 350W 1930-1995 43dBTr.Schd. Agr.55000010175903035
7542601-02Fin.Ampl. 44.5dBm 2110-2170 43dBTr.Schd. Agr.55000010175553011535120
7543140-01Fin.Ampl. 851-894 43dBTr.Schd. Agr.550000101786408725
7562492-01MDCM AF 923Tr.Schd. Agr.55000010171015430
7562493-01MDCM AF 936Tr.Schd. Agr.5500001017219
7562494-01MDCM AF 1823Tr.Schd. Agr.550000101751475746
7562495-01MDCM AF 1835Tr.Schd. Agr.5500001017171055105
7562496-01MDCM AF 2125Tr.Schd. Agr.5500001017454635
7562497-01MDCM AF 2135Tr.Schd. Agr.5500001017192120
7563162-01Fin.Ampl. 350W 2110-2170 43.5dBTr.Schd. Agr.5500001017
7575568-01Fin.Ampl. 350W 1805-1880 43dBTr.Schd. fix55000010173
7575568-01Fin.Ampl. 350W 1805-1880 43dBTr.Schd. Agr.5500001017282745
7577532-01MDCM AF 727Tr.Schd. Agr.550000101712

[解决办法]

楼主可以使用linq来对datatable进行操作
可以参考如下代码:
datatable使用groupby进行分组统计
[解决办法]
相加的字段什么类型??以整形为例子
var query=from p in dt.AsEnumerable()
group d by d.Field<string>("Material") into g
select new
{
Material=g.Key,
Sum=g.Sum(x=>x.整形字段)
};
字符串

var query==from p in dt.AsEnumerable()


group d by d.Field<string>("Material") into g
select
{
Material=g.Key,
Str= String.Join("、", g.Select(x => x.字段).ToArray())
};

读书人网 >C#

热点推荐