我有一个excel文件,其中有几列被重复多次。我正在将excel文件加载到数据表,然后对SQL表进行批量复制。
由于excel文件具有重复的标头值,因此数据加载到数据表失败。
因此,我想在头列的末尾以编程方式添加一个数字。例如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;
}
当第二个重复值进入列检查时,它会失败,因为已经有一个具有相同名称的值。
有没有办法可以添加数字后缀我的字符串数据?