private void btnLoadExcel_Click(object sender, EventArgs e) { try { OpenFileDialog openFileDialog1 = new OpenFileDialog(); System.Data.DataTable dtTemp = ExcelHelperP.RenderFromExcel(openFileDialog1); if (dtTemp == null || dtTemp.Rows.Count == 0 || dtTemp.Columns.Count < 8 || dtTemp.Rows.Count != 39) { MessageDialog.ShowPromptMessage("加载的EXCEL文件数据格式错误"); return; } string error = null; string productCode = dtTemp.Rows[0][3].ToString(); string cvtNumber = dtTemp.Rows[0][6].ToString(); if (!ServerModule.ServerModuleFactory.GetServerModule <IProductCodeServer>().VerifyProductCodesInfo( productCode, cvtNumber, GlobalObject.CE_BarCodeType.内部钢印码, out error)) { MessageDialog.ShowErrorMessage(error); return; } string 试验设备名称 = dtTemp.Rows[1][3].ToString(); string 油品 = "出光1"; string 试验结果 = dtTemp.Rows[37][5].ToString(); IPersonnelArchiveServer personnelInfoServer = Service_Peripheral_HR.ServerModuleFactory.GetServerModule <IPersonnelArchiveServer>(); string 装配员工号 = personnelInfoServer.GetPersonnelViewInfoByName(dtTemp.Rows[38][4].ToString()); if (GlobalObject.GeneralFunction.IsNullOrEmpty(装配员工号)) { MessageDialog.ShowPromptMessage("文件中的装配员姓名在公司不唯一,无法获取到员工编号"); return; } string 线员工号 = personnelInfoServer.GetPersonnelViewInfoByName(dtTemp.Rows[38][7].ToString()); if (GlobalObject.GeneralFunction.IsNullOrEmpty(线员工号)) { MessageDialog.ShowPromptMessage("文件中的下线员姓名在公司不唯一,无法获取到员工编号"); return; } string remark = dtTemp.Rows[35][2].ToString(); remark += string.Format("【工号:{0}, 姓名:{1}从EXCEL文件中导入】", BasicInfo.LoginID, BasicInfo.LoginName); DataTable dt = new DataTable(); dt.Columns.Add("TestType"); // 试验类型,如:基本功能、N挡磨合等 dt.Columns.Add("TestItemName"); // 试验项目,如:密封性、传动平稳 dt.Columns.Add("TestCondition"); // 试验条件,如:整个试验过程中 dt.Columns.Add("TestRequirement"); // 试验要求,如:总成各结合面、外表面及油封刃口处不得有渗透现象 dt.Columns.Add("TestData"); // 试验数据,如:0.5Mpa dt.Columns.Add("TestResult"); // 试验结论,如:合格 string 检测项目 = ""; string 试验项目 = ""; string 试验条件 = ""; string 试验要求 = ""; string 检测数据 = ""; string 试验项目测试结果 = ""; string 试验项目备份 = ""; for (int i = 3; i < 35; i++) { if (!GlobalObject.GeneralFunction.IsNullOrEmpty(dtTemp.Rows[i][1].ToString())) { 检测项目 = dtTemp.Rows[i][1].ToString(); 试验项目 = ""; 试验项目备份 = ""; } if (!GlobalObject.GeneralFunction.IsNullOrEmpty(dtTemp.Rows[i][2].ToString())) { 试验项目备份 = dtTemp.Rows[i][2].ToString(); if (!GlobalObject.GeneralFunction.IsNullOrEmpty(dtTemp.Rows[i][3].ToString())) { 试验项目 = dtTemp.Rows[i][2].ToString() + "-" + dtTemp.Rows[i][3].ToString(); } else { 试验项目 = dtTemp.Rows[i][2].ToString(); } 试验条件 = ""; } else if (!GlobalObject.GeneralFunction.IsNullOrEmpty(dtTemp.Rows[i][3].ToString())) { 试验项目 = 试验项目备份 + "-" + dtTemp.Rows[i][3].ToString(); 试验条件 = ""; } if (!GlobalObject.GeneralFunction.IsNullOrEmpty(dtTemp.Rows[i][4].ToString())) { 试验条件 = dtTemp.Rows[i][4].ToString(); } 试验要求 = dtTemp.Rows[i][5].ToString(); 检测数据 = dtTemp.Rows[i][6].ToString(); 试验项目测试结果 = dtTemp.Rows[i][7].ToString(); dt.Rows.Add(new object[] { 检测项目, 试验项目, 试验条件, 试验要求, 检测数据, 试验项目测试结果 }); } CvtTestInfo testInfo = new CvtTestInfo( productCode + " " + cvtNumber, 试验设备名称, 油品, 试验结果, 装配员工号, 线员工号, remark, dt); m_cvtTestDataService.SaveCVTExpData(testInfo); MessageDialog.ShowPromptMessage(string.Format("导入【{0}】文件成功!", openFileDialog1.FileName)); } catch (Exception exce) { MessageDialog.ShowErrorMessage(exce.Message); } //for (int row = 0; row < dtTemp.Rows.Count; row++) //{ // for (int col = 0; col < dtTemp.Columns.Count; col++) // { // Console.Write("[{0}, {1}]:{2}\t", row, col, dtTemp.Rows[row][col].ToString()); // } // Console.WriteLine(); //} }