/// <summary> /// 检查列是否有重复值。 /// </summary> /// <param name="columnName"></param> /// <param name="column"></param> /// <param name="allowEmptyString"></param> /// <returns></returns> private int CheckColumnUniqueValue(string columnName, int column, bool allowEmptyString) { HashSet <string> keySet = new HashSet <string>(); int error = 0; for (int i = 0; i < _excelDataTable.DataRowCount; i++) { string value = _excelDataTable.GetColumnValue(i, column); if (!allowEmptyString && value.isEmpty()) { error += 1; _excelContext.WriteLog(LogLevel.Error, $"表格 {_excelDataTable.DataFileName}, {columnName}列, {i + 1} 行, 不能为空"); continue; } if (allowEmptyString && value.isEmpty()) { continue; } if (keySet.Contains(value)) { error += 1; _excelContext.WriteLog(LogLevel.Error, $"表格 {_excelDataTable.DataFileName}, {columnName} 列, {i + 1} 行, 重复键值: {value}"); continue; } keySet.Add(value); } return(error); }
/// <summary> /// 添加调试信息。 /// </summary> /// <param name="logLevel"></param> /// <param name="message"></param> protected void AddDebugInfo(LogLevel logLevel, string message) { _excelContext.WriteLog(logLevel, message); }