解析文本文件并将值插入数据表中

时间:2016-11-22 10:22:51

标签: vb.net parsing text-files

我有一个文本文件,其中包含没有拆分器的字符串:

881234567812345000000ABCD
998765432112345000000WXYZ <- 2nd line

我需要将这些字符串拆分成列并将其插入DataTable

ID  | AccountNo | AreaNo | LeaveZero | Letters
=====================================
88  | 12345678  |  12345 | 000000    | ABCD
99  | 87654321  |  12345 | 000000    | WXYZ

如何在VB.NET中实现?

=============================

更新

这是我的一些代码。我正在使用DevExpress来构建GUI:

Imports DevExpress.XtraBars.Ribbon
Imports System.IO
Imports DevExpress.Spreadsheet

Public Class Form1

    Dim dt As New DataTable

    Private Sub BarButtonItem1_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonItem1.ItemClick
        Dim fd As New OpenFileDialog
        If fd.ShowDialog = DialogResult.OK Then
            Me.Text = fd.FileName
            import(fd.FileName)
        End If
    End Sub

    Private Sub import(ByRef pathname As String)
        Dim txtLine As String = ""
        Dim newline As String = ""

        Using stream As New StreamReader(pathname)
            For Each line As String In File.ReadAllLines(pathname)
                txtLine = txtLine & String.Format("{0} {1}", line.Substring(0, 2), line.Substring(2, 20)) & vbNewLine
            Next

            dt.Columns.Add("recordID")
            dt.Columns.Add("accountNo")
            dt.Columns.Add("reserved")
            dt.Columns.Add("billNo")

            newline = stream.ReadLine

            While newline IsNot Nothing
                Dim dr As DataRow = dt.NewRow
                For i As Integer = 0 To 3 Step 1
                    'dr(i) = newline.Substring(0, 2 + i)
                Next
                dt.Rows.Add(dr)
            End While
        End Using
        GridControl1.DataSource = dt
        MemoEdit1.Text = txtLine
    End Sub

End Class

0 个答案:

没有答案