Foxtable(狐表)用户栏目专家坐堂 → 提取excel文件的问题


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

主题:提取excel文件的问题

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


加好友 发短信
等级:婴狐 帖子:46 积分:398 威望:0 精华:0 注册:2018/4/27 13:27:00
提取excel文件的问题  发帖心情 Post By:2018/5/21 17:10:00 [只看该作者]

请教一下,我做了一个按钮提取excel文件的内容,但是跳出如下字样,是什么意思呢?

.NET Framework 版本:2.0.50727.4984
Foxtable 版本:2018.3.9.1
错误所在事件:窗口,窗口1,Button2,Click
详细错误信息:
索引超出了数组界限。


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


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

贴出所写代码。

[此贴子已经被作者于2018/5/21 17:13:05编辑过]

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


加好友 发短信
等级:婴狐 帖子:46 积分:398 威望:0 精华:0 注册:2018/4/27 13:27:00
  发帖心情 Post By:2018/5/21 17:23:00 [只看该作者]

Dim dlg As New OpenFileDialog
dlg.MultiSelect = True
If dlg.ShowDialog = DialogResult.OK Then
    OutPut.Show("你选择了" & dlg.FileNames.Length & "个文件, 分别是:")
    For Each fl As String In dlg.FileNames
        Output.Show(fl)
    Next
End If
For Each fl As String In dlg.FileNames
Dim Book As new XLS.Book(fl)
Dim Sheet As XLS.Sheet = Book.Sheets(5)
Dim s As String 
    s = filesys.GetName(fl)
Dim t = s.Substring(4) 
Tables("AC01").StopRedraw()
Dim nms() As String = {"月度","区域","渠道","品牌","年","大类","库龄","跌价"}
For n As Integer = 1 To Sheet.Rows.Count -1 
    Dim r As Row = Tables("AC01").AddNew()
        r(nms(0)) = t
    For m As Integer = 1 To nms.Length
         r(nms(m)) = Sheet(n,m-1).Value
    Next
Next
Next
Tables("AC01").ResumeRedraw()

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


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

Dim dlg As New OpenFileDialog
dlg.MultiSelect = True
If dlg.ShowDialog = DialogResult.OK Then
    For Each fl As String In dlg.FileNames
        Dim Book As new XLS.Book(fl)
        If book.sheets.Count <= 5 Then
            msgbox("sheet小于6个,不能导入")
        Else
            Dim Sheet As XLS.Sheet = Book.Sheets(5) '也可以写sheet的名字的
            Dim s As String
            s = filesys.GetName(fl)
            Dim t = s.Substring(4)
            Tables("AC01").StopRedraw()
            Dim nms() As String = {"月度","区域","渠道","品牌","年","大类","库龄","跌价"}
            For n As Integer = 1 To Sheet.Rows.Count -1
                Dim r As Row = Tables("AC01").AddNew()
                r(nms(0)) = t
                For m As Integer = 1 To nms.Length
                    r(nms(m)) = Sheet(n,m-1).Value
                Next
            Next
        End If
    Next
End If

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


加好友 发短信
等级:婴狐 帖子:46 积分:398 威望:0 精华:0 注册:2018/4/27 13:27:00
  发帖心情 Post By:2018/5/21 17:43:00 [只看该作者]

不行啊,还是一样的对话框,我选中的excel应该都是有6个sheet的,没有问题

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


加好友 发短信
等级:婴狐 帖子:46 积分:398 威望:0 精华:0 注册:2018/4/27 13:27:00
  发帖心情 Post By:2018/5/21 17:47:00 [只看该作者]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:fy1705 - 副本.xls

看一下,这个是我的数据源表格,我把不想关的信息清空了,是不是我的excel有问题

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


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

Dim dlg As New OpenFileDialog
dlg.MultiSelect = True
If dlg.ShowDialog = DialogResult.OK Then
    For Each fl As String In dlg.FileNames
        Dim Book As new XLS.Book(fl)
        If book.sheets.Count <= 5 Then
            msgbox("sheet小于6个,不能导入")
        Else
            Dim Sheet As XLS.Sheet = Book.Sheets(5) '也可以写sheet的名字的
            Dim s As String
            s = filesys.GetName(fl)
            Dim t = s.Substring(4)
            Tables("AC01").ResumeRedraw
            Tables("AC01").StopRedraw()
            Dim nms() As String = {"月度","区域","渠道","品牌","年","大类","库龄","跌价"}
            For n As Integer = 1 To Sheet.Rows.Count -1
                Dim r As Row = Tables("AC01").AddNew()
                r(nms(0)) = t
                For m As Integer = 1 To nms.Length-1
                    r(nms(m)) = Sheet(n,m-1).Value
                Next
            Next
           
            Tables("AC01").ResumeRedraw
        End If
    Next
End If


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


加好友 发短信
等级:婴狐 帖子:46 积分:398 威望:0 精华:0 注册:2018/4/27 13:27:00
  发帖心情 Post By:2018/5/21 18:05:00 [只看该作者]

了解了,谢谢!!!

 回到顶部