public static DataTable GetFileData(string File1, string File2, string sheet1, string sheet2, int MainHeadline, int SubHeadline, int key1, int key2, List <ExcelMappingItem.Relation> Relationlist, string DefaultFuHeRen, string DefaultShouKuanRen, string DefaultShuiLv) { DataRow current; int num5; string str; int num8; int num9; string str3; long num10; string str4; DataTable table = new DataTable(); DataTable table2 = WenBenItem.Items(); using (IEnumerator enumerator = table2.Rows.GetEnumerator()) { while (enumerator.MoveNext()) { current = (DataRow)enumerator.Current; table.Columns.Add(current["key"].ToString()); } } DataTable table3 = ExcelRead.ExcelToDataTable(MainHeadline, File1, sheet1 + "$"); DataTable table4 = new DataTable(); if (File2.Length > 0) { table4 = ExcelRead.ExcelToDataTable(SubHeadline, File2, sheet2 + "$"); } int num = 0; int num2 = 0; int columnName = 0; int num4 = 0; for (num5 = 0; num5 < Relationlist.Count; num5++) { ExcelMappingItem.Relation relation = Relationlist[num5]; if (relation.TableFlag == 1) { num++; if (columnName < Relationlist[num5].ColumnName) { columnName = Relationlist[num5].ColumnName; } } else if ((File2.Length > 0) && (relation.TableFlag == 2)) { num2++; if (num4 < Relationlist[num5].ColumnName) { num4 = Relationlist[num5].ColumnName; } } } if (columnName > table3.Columns.Count) { int count = columnName - table3.Columns.Count; CommonTool.AddBlankColumns(table3, count); } if ((File2.Length > 0) && (num4 > table4.Columns.Count)) { int num7 = num4 - table4.Columns.Count; CommonTool.AddBlankColumns(table4, num7); } if (File2 == string.Empty) { for (num5 = 0; num5 < table3.Rows.Count; num5++) { current = table.NewRow(); foreach (ExcelMappingItem.Relation relation2 in Relationlist) { if (relation2.TableFlag == 1) { str = table3.Rows[num5][relation2.ColumnName - 1].ToString(); current[relation2.Key] = table3.Rows[num5][relation2.ColumnName - 1]; } else if ((relation2.TableFlag == 2) && (File2 != string.Empty)) { foreach (DataRow row2 in table4.Rows) { if (row2[key2].ToString() == table3.Rows[num5][key1].ToString()) { if (!(relation2.Key == "DanJuHaoMa")) { current[relation2.Key] = row2[relation2.ColumnName - 1]; } break; } } } } num8 = 0; num9 = 0; while (num9 < table.Columns.Count) { if (current[num9].ToString().Trim().Length > 0) { break; } num8++; num9++; } if (num8 != table.Columns.Count) { if (Convert.ToString(current["FuHeRen"]) == string.Empty) { current["FuHeRen"] = DefaultFuHeRen; } if (Convert.ToString(current["ShouKuanRen"]) == string.Empty) { current["ShouKuanRen"] = DefaultShouKuanRen; } if (Convert.ToString(current["ShuiLv"]) == string.Empty) { current["ShuiLv"] = DefaultShuiLv; } str3 = Convert.ToString(current["GouFangShuiHao"]).ToUpper(); if (str3.Contains("E+") || str3.Contains("E-")) { num10 = 0L; if (long.TryParse(str3, NumberStyles.Any, null, out num10)) { str4 = num10.ToString(); current["GouFangShuiHao"] = str4; } } table.Rows.Add(current); } } return(table); } for (num5 = 0; num5 < table3.Rows.Count; num5++) { for (int i = 0; i < table4.Rows.Count; i++) { if (table3.Rows[num5][key1].ToString() != table4.Rows[i][key2].ToString()) { continue; } current = table.NewRow(); foreach (ExcelMappingItem.Relation relation2 in Relationlist) { if (relation2.TableFlag == 1) { str = table3.Rows[num5][relation2.ColumnName - 1].ToString(); current[relation2.Key] = table3.Rows[num5][relation2.ColumnName - 1]; } else if (((relation2.TableFlag == 2) && (File2 != string.Empty)) && (relation2.Key != "DanJuHaoMa")) { current[relation2.Key] = table4.Rows[i][relation2.ColumnName - 1]; } } num8 = 0; for (num9 = 0; num9 < table.Columns.Count; num9++) { if (current[num9].ToString().Trim().Length > 0) { break; } num8++; } if (num8 != table.Columns.Count) { if (Convert.ToString(current["FuHeRen"]) == string.Empty) { current["FuHeRen"] = DefaultFuHeRen; } if (Convert.ToString(current["ShouKuanRen"]) == string.Empty) { current["ShouKuanRen"] = DefaultShouKuanRen; } if (Convert.ToString(current["ShuiLv"]) == string.Empty) { current["ShuiLv"] = DefaultShuiLv; } str3 = Convert.ToString(current["GouFangShuiHao"]).ToUpper(); if (str3.Contains("E+") || str3.Contains("E-")) { num10 = 0L; if (long.TryParse(str3, NumberStyles.Any, null, out num10)) { str4 = num10.ToString(); current["GouFangShuiHao"] = str4; } } table.Rows.Add(current); } } } return(table); }