使用下面的代码来导入csv文件的数据,先讲csv文件后缀名改为txt:
Dim dlg As new OpenFileDialog
dlg.Filter = "文本文件|*.txt"
If dlg.ShowDialog = DialogResult.OK Then
Dim strs As String = FileSys.ReadAllText(dlg.FileName,encoding.default)
strs = strs.Replace(vblf,"")
Dim rs() As String = strs.Split(vbcr)
Dim cs As New List(Of String)
Dim mc = System.Text.RegularExpressions.Regex.Matches(rs(6), "(?<="").+?(?="")|(?<=,|^)[^""]*?(?=,|$)")
For j As Integer = 0 To mc.count-1
output.show(mc(j).value.trim(","))
Next
End If
但是对于第二行记录中,数据为空的,在解析时,无法正常作为一个空值来对应到相应的字段,比如年龄和工龄,请蓝版对Dim mc = System.Text.RegularExpressions.Regex.Matches(rs(6), "(?<="").+?(?="")|(?<=,|^)[^""]*?(?=,|$)") 进行优化。