public int Resolve(int tid, string path, string file) { bool IsSuccess = true; int num = 0; Loger.Current.Write("AddTask.Resolve() begin"); try { FileStream fileStream = null; fileStream = new FileStream(path + file, FileMode.Open); if (file.Substring(file.LastIndexOf('.') + 1).ToLower() == "xls") { HSSFWorkbook hssfWorkbook = new HSSFWorkbook(fileStream); TaskProject model = null; if (hssfWorkbook != null) { for (int sheetIndex = 0; sheetIndex < hssfWorkbook.NumberOfSheets; ++sheetIndex) { HSSFSheet hssfSheet = hssfWorkbook.GetSheetAt(sheetIndex) as HSSFSheet; try { for (int i = (hssfSheet.FirstRowNum + 1); i <= hssfSheet.LastRowNum; i++) { HSSFRow row = hssfSheet.GetRow(hssfSheet.FirstRowNum) as HSSFRow; if (row.Cells.Count < 10) { IsSuccess = false; num = -1; monitor.DeleteTask(tid); return(num); } row = hssfSheet.GetRow(i) as HSSFRow; num = i; if (row != null && row.Cells.Count > 0) { model = new TaskProject(); model.TId = tid; model.RegionId = monitor.GetReturnsRegionId(ConvertHelper.GetString(row.GetCell(1))); model.AreaName = ConvertHelper.GetString(row.GetCell(2)); model.StreetAddress = ConvertHelper.GetString(row.GetCell(3)); model.BlockName = ConvertHelper.GetString(row.GetCell(4)); model.PointName = ConvertHelper.GetString(row.GetCell(5)); model.MediaType = ConvertHelper.GetString(row.GetCell(6)); model.AdProductName = ConvertHelper.GetString(row.GetCell(7)); string[] dates = ConvertHelper.GetString(row.GetCell(8)).Split(new char[] { '-' }, StringSplitOptions.RemoveEmptyEntries); if (dates.Length > 1) { model.BeginDate = ConvertHelper.GetDateTime(dates[0]); model.EndDate = ConvertHelper.GetDateTime(dates[1]); } else { model.BeginDate = ConvertHelper.GetDateTime(row.GetCell(8)); model.EndDate = ConvertHelper.GetDateTime(row.GetCell(8)); } if (string.IsNullOrEmpty(beginDate) || string.IsNullOrEmpty(endDate)) { beginDate = model.BeginDate.ToString(); endDate = model.EndDate.ToString(); } model.Status = 0; model.PhotoRequire = "实地获取位置信息并拍照上传"; model.Price = 0; model.SpareOne = ConvertHelper.GetString(row.GetCell(9)); model.SpareTwo = ""; monitor.AddTaskProject(model); } } } catch (Exception e) { Loger.Current.Write("AddTask.Resolve() errornum=" + num + " err=" + e.ToString()); monitor.DeleteTask(tid); IsSuccess = false; } } } } else if (file.Substring(file.LastIndexOf('.') + 1).ToLower() == "xlsx") { XSSFWorkbook xssfWorkbook = new XSSFWorkbook(fileStream); TaskProject model = null; if (xssfWorkbook != null) { for (int sheetIndex = 0; sheetIndex < xssfWorkbook.NumberOfSheets; ++sheetIndex) { XSSFSheet xssfSheet = xssfWorkbook.GetSheetAt(sheetIndex) as XSSFSheet; try { for (int i = (xssfSheet.FirstRowNum + 1); i <= xssfSheet.LastRowNum; i++) { XSSFRow row = xssfSheet.GetRow(xssfSheet.FirstRowNum) as XSSFRow; if (row.Cells.Count < 10) { IsSuccess = false; num = -1; monitor.DeleteTask(tid); return(num); } row = xssfSheet.GetRow(i) as XSSFRow; num = i; if (row != null && row.Cells.Count > 0) { model = new TaskProject(); model.TId = tid; model.RegionId = monitor.GetReturnsRegionId(ConvertHelper.GetString(row.GetCell(1))); model.AreaName = ConvertHelper.GetString(row.GetCell(2)); model.StreetAddress = ConvertHelper.GetString(row.GetCell(3)); model.BlockName = ConvertHelper.GetString(row.GetCell(4)); model.PointName = ConvertHelper.GetString(row.GetCell(5)); model.MediaType = ConvertHelper.GetString(row.GetCell(6)); model.AdProductName = ConvertHelper.GetString(row.GetCell(7)); string[] dates = ConvertHelper.GetString(row.GetCell(8)).Split(new char[] { '-' }, StringSplitOptions.RemoveEmptyEntries); if (dates.Length > 1) { model.BeginDate = ConvertHelper.GetDateTime(dates[0]); model.EndDate = ConvertHelper.GetDateTime(dates[1]); } else { model.BeginDate = ConvertHelper.GetDateTime(row.GetCell(8)); model.EndDate = ConvertHelper.GetDateTime(row.GetCell(8)); } if (string.IsNullOrEmpty(beginDate) || string.IsNullOrEmpty(endDate)) { beginDate = model.BeginDate.ToString(); endDate = model.EndDate.ToString(); } model.Status = 0; model.PhotoRequire = "实地获取位置信息并拍照上传"; model.Price = 0; model.SpareOne = ConvertHelper.GetString(row.GetCell(9)); model.SpareTwo = ""; monitor.AddTaskProject(model); } } } catch (Exception e) { Loger.Current.Write("AddTask.Resolve() errornum=" + num + " err=" + e.ToString()); monitor.DeleteTask(tid); IsSuccess = false; } } } } else { num = -1; } } catch (Exception e) { Loger.Current.Write("AddTask.Resolve() err=" + e.ToString()); monitor.DeleteTask(tid); IsSuccess = false; } Loger.Current.Write("AddTask.Resolve() end"); return(IsSuccess ? 0 : num); }