Foxtable(狐表)用户栏目专家坐堂 → [求助]如何批量导入csv文件


  共有6187人关注过本帖树形打印复制链接

主题:[求助]如何批量导入csv文件

帅哥哟,离线,有人找我吗?
有点甜
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2015/2/23 11:07:00 [显示全部帖子]


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2015/2/25 11:20:00 [显示全部帖子]

导入单个

 

Dim str As String = FileSys.ReadAllText("C:\Documents and Settings\Administrator\My Documents\下载\2016\2016\SH600004.csv", Encoding.Default)
Dim ary() As String = str.Split(chr(13))
DataTables("表A").ResumeRedraw
DataTables("表A").StopRedraw
For i As Integer = 0 To ary.Length - 1
    Dim s() As String = ary(i).Split(",")
    If s.Length >= 5 Then
        Dim nr As DataRow = DataTables("表A").AddNew
        nr("第一列") = s(0).trim()
        nr("第二列") = s(1).trim()
    End If
Next
DataTables("表A").ResumeRedraw


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2015/2/25 11:28:00 [显示全部帖子]

批量就这样做,但这么大的数据量,不建议直接导入foxtable,最好是通过sql语句,直接导入数据库。

 

DataTables("表A").ResumeRedraw
DataTables("表A").StopRedraw
For Each f As String In FileSys.GetFiles("C:\Documents and Settings\Administrator\My Documents\下载\2016\2016")
    Dim str As String = FileSys.ReadAllText(f, Encoding.Default)
    Dim ary() As String = str.Split(chr(13))
    For i As Integer = 0 To ary.Length - 1
        Dim s() As String = ary(i).Split(",")
        If s.Length >= 4 Then
            Dim nr As DataRow = DataTables("表A").AddNew
            nr("第一列") = s(0).trim()
            nr("第二列") = s(1).trim()
        End If
    Next
   
Next
DataTables("表A").ResumeRedraw


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2015/2/25 14:23:00 [显示全部帖子]

 回复6楼,直接读取CSV文件的文本,循环每一行,统计结果,只有这个办法

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2015/2/26 15:34:00 [显示全部帖子]

DataTables("表A").ResumeRedraw
DataTables("表A").StopRedraw
DataTables("表B").ResumeRedraw
DataTables("表B").StopRedraw
For Each f As String In FileSys.GetFiles("C:\Documents and Settings\Administrator\My Documents\下载\2016\2016")
    Dim str As String = FileSys.ReadAllText(f, Encoding.Default)
    Dim ary() As String = str.Split(chr(13))
    Dim min As Double = ary(0).split(",")(1)
    Dim max As Double = ary(0).split(",")(1)
    Dim sum As Double = 0
    For i As Integer = 0 To ary.Length - 1
        Dim s() As String = ary(i).Split(",")
        If s.Length >= 4 Then
            If val(s(1)) > max Then
                max = val(s(1))
            End If
            If val(s(1)) < min Then
                min = val(s(1))
            End If
            sum += val(s(1))
        End If
    Next
    Dim nr As DataRow
    f = FileSys.GetName(f)
    If f.StartsWith("SH") Then
        nr = DataTables("表A").AddNew
    Else If f.StartsWith("SZ") Then
        nr = DataTables("表B").AddNew
    End If

    nr("第一列") = ary(0).Split(",")(0).Trim()
    nr("第二列") = left(f, 8)
    nr("第三列") = max
    nr("第四列") = min
    nr("第五列") = sum
Next
DataTables("表A").ResumeRedraw
DataTables("表B").ResumeRedraw


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2015/3/8 14:31:00 [显示全部帖子]

以下是引用青岛hhh在2015/3/8 12:31:00的发言:

感谢甜老师csv文件批量导入做好了,导入了几批数据正常,现在出现导完数据后功能区和菜单栏冻结(灰色)不能操作,需要退出重新打开再导入,怎样解决?

[此贴子已经被作者于2015/3/8 13:55:09编辑过]

 

你使用的是试用版还是开发版?还是盗版?

 

如果是开发版,就是激活码有问题;如果是盗版,会出现各种各样的问题的。


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2015/3/9 14:18:00 [显示全部帖子]

以下是引用青岛hhh在2015/3/9 13:34:00的发言:
我在主页上下的http://www.foxtable.com/安装过程好像没有要求激活。不会用到半道出问题吧?

 

你用的不可能是试用版,你用的肯定是盗版的,不然不会出现变灰的情况。


 回到顶部