在数据库中的最后一列之后获取不需要的分隔符到csv

时间:2015-08-25 01:47:49

标签: csv delimiter

这是我在Visual Basic中使用的代码:

cellForItemAtIndexPath

我得到: 1 |无论|无论|

应该是: 1 |无论|任何

(即没有最终不需要的分隔符)

1 个答案:

答案 0 :(得分:0)

问题是这个代码块的逻辑:

'Loop through all the cells in the datatable
For row As Integer = 0 To dt.Rows.Count - 1
    For col As Integer = 0 To dt.Columns.Count - 1

        sw.Write(dt.Rows(row).Item(col).ToString & delimiter)
    Next
    'At the final column, start a new line
    sw.Write(Environment.NewLine)
Next

delimiter总是在每个行元素之后写出。您需要更改逻辑,以便delimiter永远不会跟随行元素。

解决此问题的一种方法是在每行的开头设置一个标记true。当该标志设置为true时,行元素将写为:

sw.Write(dt.Rows(row).Item(col).ToString)
flag = false

当标志为false时,所有其他元素应写为:

sw.Write(delimiter & dt.Rows(row).Item(col).ToString)

此算法将确保分隔符永远不会出现在行的末尾,并且只有在行元素不止一个时才会分隔。