C#追加重复的列名称,加号

时间:2017-06-15 16:25:36

标签: c# datatable

我有一个excel文件,其中有几列被重复多次。我正在将excel文件加载到数据表,然后对SQL表进行批量复制。

由于excel文件具有重复的标头值,因此数据加载到数据表失败。

Data

因此,我想在头列的末尾以编程方式添加一个数字。例如city_0,city_1,city_2等

我尝试使用以下代码并将其用于第一个重复标题

if (dtSourceData.Columns.Contains(cRowValue) && cRowValue != "")
{
    cRowValue = SuffixValueToString(cRowValue, dtSourceData);
}

private string SuffixValueToString(string strOriginalString, DataTable dtDataTable)
  {
   string strAmendedString = string.Empty;
   var strlastValue = strOriginalString.Substring(strOriginalString.Length - 1);
   if ((char.IsDigit(strlastValue, 0)) == false)
   {
    strAmendedString = strOriginalString + '_' + '0';
   }
   else 
   {
    int value = Convert.ToInt32(strlastValue);
    strAmendedString = strOriginalString.Replace(strlastValue, Convert.ToString(value + 1));       
   }
   return strAmendedString;
  }

当第二个重复值进入列检查时,它会失败,因为已经有一个具有相同名称的值。

有没有办法可以添加数字后缀我的字符串数据?

0 个答案:

没有答案