Convert Delimited Text File to DataTable

The following code converts a delimited text file to a DataTable: Private Function CreateDataTable(ByVal path As String, ByVal headers As Boolean, ByVal delimiter As Char) As DataTable Dim dt As DataTable = New DataTable() If Not IO.File.Exists(path) Then Return Nothing End If Dim lines As List(Of String) = IO.File.ReadAllLines(path).ToList() If headers Then Array.ForEach(lines.First.Split(delimiter), Sub(c) dt.Columns.Add(New DataColumn(c))) lines.RemoveAt(0) Else Dim columns() As Integer = Enumerable.Range(0, lines.First.Split(delimiter).Count).ToArray() Array.ForEach(columns, Sub(c) dt.Columns.Add(New DataColumn(“Column” & c.ToString()))) End If lines.ForEach(Function(l) dt.Rows.Add(l.Split(delimiter))) Return dt End FunctionIf the file does not exists then Nothing is returned. If there is a Header line then it adds the column names, otherwise it adds Column0, Column1, etc… Finally it goes through each line returned from the text file and adds it as a DataRow to the DataTable

Share the Post:
Share on facebook
Share on twitter
Share on linkedin

Related Posts