Put a breakpoint on dt.Rows.Add(tRow) and then check the value of each column whenever it breaks. Do you have all the values there?

Also I suspect this line is causing the problems.
Code:
Dim split As String() = line.Split(New [Char]() {})
On what character do you want to split the string?
Try replacing it with this line and see if it works:
vb Code:
  1. Dim split() As String = Strings.Split(line, ";") '<-- replace semicolon with your separator character.