iT邦幫忙

0

Column Name already belongs to datatable

c#

最近想把一些CSV檔代入DataTable

這是我目前陣列裡的資料

https://ithelp.ithome.com.tw/upload/images/20210604/20110132olU0ZWdaMK.jpg

寫入時會遇到標題上所顯示的問題

所以想請問我該如何做才能變成說

姓名,姓名1,姓名2,姓名3?

我目前只能取到姓名的最後一個索引

程式碼大略是這樣

 DataTable dt = new DataTable("tmp");
 string[] split = SplitCsvLine(line);   
 var splitlist = split.ToList();
  foreach (var a in splitlist)
  {
      objCellValue = a;
      cellValue = objCellValue == null ? "" : objCellValue.ToString();
      if (dt.Columns.Contains(cellValue))
       {

        var lastindex = splitlist.LastIndexOf(cellValue);
        if (lastindex > 0)
            {                             
                                 
                                    
            }
                                                                                   
       }
      dt.Columns.Add(cellValue, typeof(string));
}

split 就是圖中陣列的值

圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

2 個回答

0
小魚
iT邦大師 1 級 ‧ 2021-06-04 18:34:14

直接改CSV不是很快嗎?

tenno081 iT邦研究生 4 級 ‧ 2021-06-04 18:54:40 檢舉

我也想,但不行QQ
那個是固定內容

小魚 iT邦大師 1 級 ‧ 2021-06-04 19:23:39 檢舉

那就...
另外存一個暫存檔,
然後改一改之後再讀...
因為等你讀進來應該已經來不及了...

或是,
直接讀檔案,
不要存成DataTable了...

tenno081 iT邦研究生 4 級 ‧ 2021-06-07 21:36:00 檢舉

我後面再想看看怎麼處理,謝謝

0
chi_jack
iT邦新手 5 級 ‧ 2021-06-07 10:54:01

所以想請問我該如何做才能變成說
姓名,姓名1,姓名2,姓名3?

I suggest add column name(s) like "姓名xx" into a List for checking.
If find in the list, then +1 and make the new column name(s) 姓名,姓名1,姓名2,姓名3

我要發表回答

立即登入回答