Foxtable(狐表)用户栏目专家坐堂 → EXCEL导入


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

主题:EXCEL导入

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


加好友 发短信
等级:四尾狐 帖子:934 积分:6733 威望:0 精华:0 注册:2013/8/10 18:33:00
EXCEL导入  发帖心情 Post By:2021/5/12 15:56:00 [只看该作者]

老师受累帮我看一下,我的导入语句,选择EXCEL文件导入后,单据主表数据导入正确,明细表行数据行,但是却没有任何内容,是哪里有问题明细表数据没能增加进去、(主表和明细表在同一个选中的工作簿中的不同工作表中)

语句在附件中,直接粘在这里发表报错。、
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:语句.txt


 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:111419 积分:567171 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/5/12 16:04:00 [只看该作者]

  Dim Sheet1 As XLS.Sheet = Book.Sheets("单据明细")
    Tables("ysmxhz").StopRedraw()
    Dim nms1() As String = {"项目","行次","金额"}
    Dim nms2() As String = {"kmmc","HC","ysje"}
msgbox(Sheet1.Rows.Count ) ‘弹出什么值’
    For n As Integer = 1 To Sheet1.Rows.Count -1

        Dim r As Row = Tables("ysmxhz").AddNew()

        For i As Integer = 0 To sheet1.Cols.Count -1
            Dim idx As Integer = array.indexof(nms1, sheet1(0,i).Text)
msgbox(idx) ‘弹出什么值’
            If idx >= 0 Then
                r(nms2(idx)) = sheet1(n, i).Text
            End If
        Next

    Next
    Tables("ysmxhz").ResumeRedraw()

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


加好友 发短信
等级:四尾狐 帖子:934 积分:6733 威望:0 精华:0 注册:2013/8/10 18:33:00
  发帖心情 Post By:2021/5/12 16:12:00 [只看该作者]

老师,第一次弹出了一个18,后面就是再弹出0,再弹出1,然后再弹出2,再弹出-1,再0,按下面的顺序弹出,,0,1,2,-1,循环弹出,直到不弹出。

18

0
1
2
-1
0
1
2
-1
0
1
2
-1
0
1
2
-1
0
1
2
-1
0
1
2
... ...

 回到顶部
帅哥,在线噢!
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:111419 积分:567171 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/5/12 16:25:00 [只看该作者]

说明明细表有添加数据,到后台数据库看看,检查是不是界面没有加载数据

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


加好友 发短信
等级:四尾狐 帖子:934 积分:6733 威望:0 精华:0 注册:2013/8/10 18:33:00
  发帖心情 Post By:2021/5/12 16:31:00 [只看该作者]

老师数据库表后台也看了,比如说明细EXCEL表有10行,查看导入的明细表也有10行,只是内容不进去。

 回到顶部
帅哥,在线噢!
有点蓝
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:111419 积分:567171 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/5/12 16:35:00 [只看该作者]

        For i As Integer = 0 To sheet1.Cols.Count -1
            Dim idx As Integer = array.indexof(nms1, sheet1(0,i).Text)
msgbox(idx
            If idx >= 0 Then
msgbox(nms2(idx)) 
msgbox(sheet1(n, i).Text) 
                r(nms2(idx)) = sheet1(n, i).Text
msgbox(r(nms2(idx))) 
            End If
        Next

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


加好友 发短信
等级:四尾狐 帖子:934 积分:6733 威望:0 精华:0 注册:2013/8/10 18:33:00
  发帖心情 Post By:2021/5/12 16:47:00 [只看该作者]

老师,代码粘进去后,在提示框中显示对应的值了和列,就是完成后点开还是只有对的空行数,行数正确着,就是没数据。

 回到顶部
帅哥,在线噢!
有点蓝
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:111419 积分:567171 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/5/12 16:56:00 [只看该作者]

调换一下代码顺序试试


DataTables("yszb").Save()
DataTables("ysmxhz").Save()

DataTables("yszb").Load()

另外Tables("yszb").Save()和DataTables("yszb").Save()效果是一样的,没有必要调用2次

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


加好友 发短信
等级:四尾狐 帖子:934 积分:6733 威望:0 精华:0 注册:2013/8/10 18:33:00
  发帖心情 Post By:2021/5/12 17:24:00 [只看该作者]

老师,换了顺序也不行,我这个表设计的是一个主表,两个明细,我前面再试着把另一个明细表的的导入语句也加上,
导入结果就是,主表完全对应正确,明细表1(例如EXCEL有10行)正确增加了10行,但没数据,明细表2(EXCEL表中有30行)正确增加了30行,也是没有数据。我明细表参考着明细表一的语句增加在后面的。
现在的同样情况就是增加的行数对了,EXCEL中数据没有过去。

 回到顶部
帅哥,在线噢!
有点蓝
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:111419 积分:567171 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/5/12 17:29:00 [只看该作者]

请上传实例测试

 回到顶部
总数 19 1 2 下一页