编码合并文本文件

假定有个文本文件,有四列,不同的列之间用Tab符号分割,现在需要将其合并到表A中,可以参考下面的代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19

Dim dlg As new OpenFileDialog
dlg
.Filter = "文本文件|*.txt"
Tables(
"A").StopRedraw
If
dlg.ShowDialog = DialogResult.OK Then
    Dim
strs As String = FileSys.ReadAllText(dlg.FileName)
   
strs = strs.Replace(vblf,"")
    Dim
rs() As String = strs.Split(vbcr)
    For
i As Integer = 0 To rs.Length - 1
        Dim
cs() As String = rs(i).Split(vbtab)
        If
cs.Length = 4 Then
            Dim
dr As DataRow = DataTables("A").Addnew()
           
dr("第一列") = cs(0)
           
dr("第二列") = cs(1)
           
dr("第三列") = cs(2)
           
dr("第四列") = cs(3)
       
End If
    Next
End If
Tables(
"表A").ResumeRedraw

代码说明:

1、第3行和第19行代码是配合使用的,在合并数据的过程中,停止绘制表A,提高运行效率,也避免屏幕闪烁。
2、文本文件中每行内容的结尾其实是两个字符,分别是换行(vblf)和回车(vbcr),第6行代码将读取的文本文件中的换行符(vblf)清除掉,仅保留回车符。
3、第7行代码将读取的文本文件内容拆分成一个数组,数组中每个元素对应中文本文件中的一行内容。
4、第9行代码将每行文本内容拆分成单个的值。
5、有的文本文件,第一行是标题,此时第8行代码应该改为:

For
i As Integer = 1 To rs.Length - 1

 


本页地址:http://www.foxtable.com/webhelp/topics/2629.htm