以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  求支持  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=101087)

--  作者:wst479
--  发布时间:2017/5/24 18:13:00
--  求支持

菜鸟一个,现需要导入CSV文件到表中。CSV文件不是太标准,思路是读入文件文本,用文本分割输出到数组,然后处理数组成员,生成各数据列,最后一行一行插入表中。

问题:

1、文本分割用回车键,如何写吗?

 

其他功能已经实现(在易语言中已经实现读CSV文件到sqlite数据库)。

 

 

Dim dlg As New OpenFileDialog

dlg.Filter= "CSV文件|*.CSV" \'设置筛选器

If dlg.ShowDialog = DialogResult.Ok Then

   MessageBox.Show("你选择的是:" & dlg.FileName,"提示")

End If

 

Dim s As String = FileSys.ReadAllText(dlg.FileName,Encoding.Default)

\'Output.Show(s)

 

Dim Values() As String

Values = s.split(Enter)

 

 

For Index As Integer = 0 To Values.Length - 1

     Output.Show(Values(Index))

‘分解每行文本的信息,生成列变量数据

  ’插入表格

Next

 

 

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:2月报.rar

[此贴子已经被作者于2017/5/24 18:15:45编辑过]

--  作者:有点色
--  发布时间:2017/5/24 18:37:00
--  

Dim dlg As new OpenFileDialog
dlg.Filter= "CSV文件|*.CSV" \'设置筛选器
Tables("表A").StopRedraw
If dlg.ShowDialog = DialogResult.OK Then
    Dim strs As String = FileSys.ReadAllText(dlg.FileName, encoding.default)
    strs = strs.Replace(chr(13),"")
    Dim rs() As String = strs.Split(chr(10))
    For i As Integer = 0 To rs.Length - 1
        rs(i) = System.Text.RegularExpressions.Regex.replace(rs(i), " +", chr(11))
        Dim cs() As String = rs(i).Split(chr(11))
        If cs.Length = 5 Then
            If cs(0) <> "科目代码" Then
                Dim dr As DataRow = DataTables("表A").Addnew()
                dr("第一列") = cs(0)
                dr("第二列") = cs(1)
                dr("第三列") = cs(2)
                dr("第四列") = cs(3)
            End If
        End If
    Next
End If
Tables("表A").ResumeRedraw


--  作者:wst479
--  发布时间:2017/5/25 8:57:00
--  

谢谢,功能实现了。

问题是该语句,帮助没有信息,不大懂。在网上查了一下。了解了。望官方能加入帮助说明。

rs(i) = System.Text.RegularExpressions.Regex.replace(rs(i), " +", chr(11))