/// <summary> /// 合并表格-将运算过来的临时表头及表体进行合并(作导出数据之用) 注:旧系统使用 /// </summary> /// <param name="tempdt">运算结果-表头</param> /// <param name="tempemptydt">运算结果-表体</param> /// <returns></returns> private DataTable Margedt(DataTable tempdt, DataTable tempemptydt) { //获取导出EXCEL临时表 var resultdt = dtList.Get_Exportdt(); //循环表头信息 foreach (DataRow rows in tempdt.Rows) { //根据ID值获取表头对应的表体信息 var emptyrow = tempemptydt.Select("ID='" + Convert.ToInt32(rows[0]) + "'"); //循环表体信息(注:若i=0即表示插入第一行记录,也就可以将表头信息插入至临时表对应的列;而除i=0外,其余的表头信息对应的列都为空) for (var i = 0; i < emptyrow.Length; i++) { var newrows = resultdt.NewRow(); newrows[0] = i == 0 ? rows[1] : DBNull.Value; //车厂 newrows[1] = i == 0 ? rows[2] : DBNull.Value; //颜色代码 newrows[2] = i == 0 ? rows[3] : DBNull.Value; //颜色名称 newrows[3] = i == 0 ? rows[4] : DBNull.Value; //适用车型 newrows[4] = i == 0 ? rows[5] : DBNull.Value; //品牌 newrows[5] = i == 0 ? rows[6] : DBNull.Value; //涂层 newrows[6] = i == 0 ? rows[7] : DBNull.Value; //差异色 newrows[7] = i == 0 ? rows[8] : DBNull.Value; //年份 newrows[8] = i == 0 ? rows[9] : DBNull.Value; //色版来源 newrows[9] = i == 0 ? rows[10] : DBNull.Value; //配方号 newrows[10] = i == 0 ? rows[11] : DBNull.Value; //颜色索引号 newrows[11] = i == 0 ? rows[12] : DBNull.Value; //制作日期 newrows[12] = i == 0 ? rows[13] : DBNull.Value; //制作人 newrows[13] = i == 0 ? rows[14] : DBNull.Value; //录入日期 newrows[14] = i == 0 ? rows[15] : DBNull.Value; //录入人 newrows[15] = i == 0 ? rows[16] : DBNull.Value; //审核日期 newrows[16] = i == 0 ? rows[17] : DBNull.Value; //审核人 newrows[17] = i == 0 ? rows[18] : DBNull.Value; //备注 newrows[18] = i == 0 ? rows[19] : DBNull.Value; //来源分类 newrows[19] = emptyrow[i][1]; //色母 newrows[20] = emptyrow[i][2]; //色母名称 newrows[21] = Math.Round(Convert.ToDouble(emptyrow[i][3]), 2); //量(克) newrows[22] = Math.Round(Convert.ToDouble(emptyrow[i][4]), 2); //累计量(克) newrows[23] = i == 0 ? rows[20] : DBNull.Value; //颜色组别 resultdt.Rows.Add(newrows); } } return(resultdt); }