Foxtable(狐表)用户栏目专家坐堂 → 关于合并加载数据问题,求教老师!


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

主题:关于合并加载数据问题,求教老师!

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


加好友 发短信
等级:婴狐 帖子:10 积分:147 威望:0 精华:0 注册:2014/7/4 14:51:00
关于合并加载数据问题,求教老师!  发帖心情 Post By:2014/7/8 8:59:00 [只看该作者]

想同时从三个文件夹:“文件夹1”、" 文件夹2 "、"文件夹3"中的“表1.xls”向foxtable"表A"中以下列方式合并加载新数据:

Dim Book As New XLS.Book("c:\文件夹1\表1.xls") 
Dim Sheet As XLS.Sheet = Book.Sheets(0)
Tables("表A").StopRedraw()
Dim nms() As String = {"第一列","第二列","第三列"} 
For n As Integer = 1 To Sheet.Rows.Count -1 
    Dim bh As String = sheet(n,0).Text 
    If DataTables("表A").Find("第一列 = '" & bh & "'") Is Nothing Then 
        Dim r As Row = Tables("表A").AddNew()
        For m As Integer = 0 To nms.Length - 1
            r(nms(m)) = Sheet(n,m).Value
        Next
    End If
Next
Tables("表A").ResumeRedraw()

向专家老师求编码,多谢了哟!


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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2014/7/8 9:00:00 [只看该作者]

http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&Id=53434

这个问题? 1楼仁兄已经回复你了.

搞不定,把Excel文件和狐表文件发上来.

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/7/8 9:10:00 [只看该作者]

 你试试把表A的第一列、第二列、第三列,都弄成字符串列,就不会报错了,具体原因看2楼。

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


加好友 发短信
等级:婴狐 帖子:10 积分:147 威望:0 精华:0 注册:2014/7/4 14:51:00
  发帖心情 Post By:2014/7/8 9:27:00 [只看该作者]

我发的代码倒没问题的,但只能从一个"文件夹1"中"表1.xls"合并加载数据,现在想同时从多个文件夹(还要从“文件夹2”和“文件夹3”中的"表1.xls")中合并加载新数据,求大师给代码!

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2014/7/8 9:30:00 [只看该作者]

dim files as string()={"c:\文件夹1\表1.xls","c:\文件夹2\表1.xls","c:\文件夹3\表1.xls"}
Tables("表A").StopRedraw()
for each file as string in files 
Dim Book As New XLS.Book(file) 
Dim Sheet As XLS.Sheet = Book.Sheets(0)

Dim nms() As String = {"第一列","第二列","第三列"} 
For n As Integer = 1 To Sheet.Rows.Count -1 
    Dim bh As String = sheet(n,0).Text 
    If DataTables("表A").Find("第一列 = '" & bh & "'") Is Nothing Then 
        Dim r As Row = Tables("表A").AddNew()
        For m As Integer = 0 To nms.Length - 1
            r(nms(m)) = Sheet(n,m).Value
        Next
    End If
Next
next
Tables("表A").ResumeRedraw()

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


加好友 发短信
等级:婴狐 帖子:10 积分:147 威望:0 精华:0 注册:2014/7/4 14:51:00
  发帖心情 Post By:2014/7/8 9:44:00 [只看该作者]

谢大神“Bin”了!

 回到顶部