/// <summary> /// 单个简历分析直接输出数据到控制台 /// </summary> private void AnalysisOne() { Document thisdoc = new Document(SelectBox.Text); ResumeData thisResume = ResumeSelect.CheckResume(thisdoc); MsgBox.Text = thisResume.ToString(); }
/// <summary> /// 批量简历分析 /// </summary> private void BatchAnalysis() { isAnalysis = true; int count = 0; int failCount = 0; string failName = ""; var fileNames = Directory.GetFiles(SelectBox.Text, "*.*", SearchOption.AllDirectories).Where(s => s.EndsWith(".doc") || s.EndsWith(".docx")); foreach (var fileName in fileNames) { count++; FileInfo thisFile = new FileInfo(fileName); Document thisDoc = new Document(thisFile.FullName); ResumeData thisResumeData = ResumeSelect.CheckResume(thisDoc); if (thisResumeData != null) { resumeList.Add(thisResumeData); PrintMsg(thisFile.Name + "分析完毕!!!\n" + "已分析份数:" + count); } else { failCount++; failName += "\n" + fileName; } } ExportHelp.DataExport(resumeList, SaveBox.Text + "\\" + m_ExportExcelName); isAnalysis = false; PrintMsg(string.Format("简历分析完毕,总共分析成功份数:{0}, 失败数:{1} \n 失败文件:\n{2}", count, failCount, failName)); }
/// <summary> /// 检查简历,返回所需简历数据 /// </summary> /// <param name="resumeDoc"></param> /// <returns></returns> public static ResumeData CheckResume(Document resumeDoc) { try { ResumeData thisData = new ResumeData(); Dictionary <ResumeContentEnum, Table> thisResumeTable = GetInfoName2TableDic(resumeDoc); //期望地点 if (thisResumeTable.ContainsKey(ResumeContentEnum.WorkFuture)) { thisData.TargetPlace = ResumeFormatHelp.DefaultFormat(thisResumeTable[ResumeContentEnum.WorkFuture].Rows[3].Cells[1].GetText()); } //简历编号 if (thisResumeTable.ContainsKey(ResumeContentEnum.IdContent)) { thisData.ResumeId = ResumeFormatHelp.FormatResumeId(thisResumeTable[ResumeContentEnum.IdContent].Rows[1].Cells[0].GetText()); } //基本信息 if (thisResumeTable.ContainsKey(ResumeContentEnum.PersonInfo)) { //姓名 thisData.Name = ResumeFormatHelp.DefaultFormat(thisResumeTable[ResumeContentEnum.PersonInfo].Rows[0].Cells[1].GetText()); //性别 thisData.Gender = ResumeFormatHelp.DefaultFormat(thisResumeTable[ResumeContentEnum.PersonInfo].Rows[0].Cells[3].GetText()); //手机 thisData.PhoneNumber = ResumeFormatHelp.DefaultFormat(thisResumeTable[ResumeContentEnum.PersonInfo].Rows[1].Cells[1].GetText()); //年龄 thisData.Age = ResumeFormatHelp.DefaultFormat(thisResumeTable[ResumeContentEnum.PersonInfo].Rows[1].Cells[3].GetText()); //电子邮箱 thisData.EmailAddress = ResumeFormatHelp.DefaultFormat(thisResumeTable[ResumeContentEnum.PersonInfo].Rows[2].Cells[1].GetText()); } //教育经历 if (thisResumeTable.ContainsKey(ResumeContentEnum.Education)) { thisData.MaxEducationInfo = GetMaxEducationData(thisResumeTable[ResumeContentEnum.Education]); } //当前公司名字 if (thisResumeTable.ContainsKey(ResumeContentEnum.CurWorkInfo)) { thisData.CurrentCompanyName = ResumeFormatHelp.DefaultFormat(thisResumeTable[ResumeContentEnum.CurWorkInfo].Rows[1].Cells[3].GetText()); } return(thisData); } catch { return(null); } }