コード例 #1
0
        /// <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);
        }
コード例 #2
0
ファイル: ExcelLoader.cs プロジェクト: BIGWGY/ExcelExportTool
 /// <summary>
 /// 添加调试信息。
 /// </summary>
 /// <param name="logLevel"></param>
 /// <param name="message"></param>
 protected void AddDebugInfo(LogLevel logLevel, string message)
 {
     _excelContext.WriteLog(logLevel, message);
 }