/// <summary> /// 提取Excel文件信息 /// </summary> private void ExtractfileInfo() { using (FileStream file = new FileStream(fileInfo.ExcelFilePath, FileMode.Open, FileAccess.Read)) { // ExcelBook = new XSSFWorkbook(file); // ISheet sheet = ExcelBook.GetSheetAt(0); //System.Collections.IEnumerator rows = sheet.GetRowEnumerator(); //while (rows.MoveNext()) //{ // XSSFRow row = (rows as XSSFRow).; // //TODO::Create DataTable row // for (int i = 0; i < row.LastCellNum; i++) // { // ICell cell = row.GetCell(i) ; // //TODO::set cell value to the cell of DataTables // } //} //使用接口,自动识别excel2003/2007格式 IWorkbook workbook = WorkbookFactory.Create(file); //得到里面第一个sheet ISheet sheet = workbook.GetSheetAt(0); IRow row; ClerksList.Clear(); NameIndexList.Clear(); #region 寻找“姓名”列索引 row = sheet.GetRow(1);//得到第2行 for (int i = 0; i < row.LastCellNum; i++) { ICell hs = row.GetCell(i); if (GetValue(hs).Trim() == "姓名") { NameIndexList.Add(i); } } #endregion string postion = ""; string post = ""; foreach (int i in NameIndexList) { for (int j = 2; j < sheet.LastRowNum; j++) { row = sheet.GetRow(j);//得到第j行 if (row != null) { if (row.LastCellNum > i) { post = GetValue(row.GetCell(i)); if (IsClerkName(row, i)) { ICell hs = row.GetCell(i + 2); string ID = GetValue(hs); if (ID != null && ID != "") { int id = 0; if (int.TryParse(ID, out id)) { Clerk newClerk = new Clerk(); newClerk.ID = ID; hs = row.GetCell(i + 3); newClerk.Office = GetValue(hs); hs = row.GetCell(i); newClerk.Name = GetValue(hs); newClerk.PY = ConvertHZToPY.ConvertHZToPY.ToChineseSpell(newClerk.Name); newClerk.Dept = "中冶南方(武汉)自动化有限公司"; hs = row.GetCell(i + 1); newClerk.Mobile = GetValue(hs); newClerk.Position = postion; ClerksList.Add(newClerk); } } //ID = ""; //if (GetValue(hs) == String.Empty) //{ // hs = row.GetCell(i + 3); // newClerk.Office = GetValue(hs); //} //else //{ //int id = 0; //if (int.TryParse(ID, out id) || ID == null || ID == "") //{ // newClerk.ID = ID; // hs = row.GetCell(i + 3); // newClerk.Office = GetValue(hs); //} //else //{ // Clerk newClerk2 = new Clerk(); // newClerk2.Name = GetValue(hs); // newClerk2.Dept = "中冶南方(武汉)自动化有限公司"; // hs = row.GetCell(i + 3); // newClerk2.Mobile = GetValue(hs); // newClerk2.PY = ConvertHZToPY.ConvertHZToPY.ToChineseSpell(newClerk2.Name); // ClerksList.Add(newClerk2); //} //} } else { if (post.Contains("部")) { postion = post; } } } else { break; } } } } //NameIndexList.Add(2); } }
private void dataGridView2_SelectionChanged(object sender, EventArgs e) { if (dataGridView2.SelectedRows.Count > 0) { try { int SI = Convert.ToInt32(dataGridView2.SelectedRows[0].HeaderCell.Value) - 1; SelectingClerk = SelectingClerksList[SI]; textBox5.Text = dataGridView2.SelectedRows[0].Cells[0].Value.ToString(); textBox6.Text = dataGridView2.SelectedRows[0].Cells[1].Value.ToString(); textBox7.Text = dataGridView2.SelectedRows[0].Cells[3].Value.ToString(); textBox8.Text = dataGridView2.SelectedRows[0].Cells[4].Value.ToString(); textBox9.Text = dataGridView2.SelectedRows[0].Cells[5].Value.ToString(); } catch { } } }