以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  索引超出范围。必须为非负值并小于集合大小  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=97825)

--  作者:刘林
--  发布时间:2017/3/19 9:40:00
--  索引超出范围。必须为非负值并小于集合大小



Dim dt As Table = Tables("中考报名_table3")
Dim dt1 As Table = Tables("中考报名_table4")
Dim dlg As New SaveFileDialog \'定义一个新的SaveFileDialog
dlg.Filter= "Excl|*.xls" \'设置筛选器
If dlg.ShowDialog = DialogResult.Ok Then \'如果用户单击了确定按钮
    Dim Book As New XLS.Book \'定义一个Excel工作簿
    Dim Sheet As XLS.Sheet = Book.Sheets(0) \'引用工作簿的第一个工作表
    Dim sheet1 As XLS.Sheet = Book.Sheets(1)
    For c As Integer = 0 To dt.Cols.Count -1 \'添加列标题
        If dt.Cols(c).Visible Then
            Sheet(0, c).Value = dt.Cols(c).Name
        End If
    Next
    For m As Integer = 1 To dt.Rows.Count -1
        For n As Integer = 0 To dt.Cols.count -1
            If dt.Cols(n).Visible Then
                sheet(m,n).value =dt.Rows(m)(dt.Cols(n).name)
            End If
        Next
    Next
    
    
    For c1 As Integer = 0 To dt1.Cols.Count -1 \'添加列标题
        If dt1.Cols(c1).Visible Then
            Sheet1(0, c1).Value = dt1.Cols(c1).Name
        End If
    Next
    For m1 As Integer = 1 To dt1.Rows.Count -1
        For n1 As Integer = 0 To dt1.Cols.count -1
            If dt1.Cols(n1).Visible Then
                sheet1(m1,n1).value =dt1.Rows(m1)(dt1.Cols(n1).name)
            End If
        Next
    Next
    Book.Save(dlg.FileName  )
    Dim Proc As New Process
    Proc.File = dlg.filename
    Proc.Start()
    
End If



老师,请问上面代码想同时将窗口内两个表导出到EXCLsheet(0),sheet(1),提示下面错误
索引超出范围。必须为非负值并小于集合大小。
没看懂什么地方错了,请指教,谢谢

--  作者:刘林
--  发布时间:2017/3/19 21:30:00
--  

请老师帮看下


--  作者:wyz20130512
--  发布时间:2017/3/19 21:51:00
--  
传实例看看
--  作者:狐狸爸爸
--  发布时间:2017/3/20 9:17:00
--  
说明excel文件只有一个表甚至没有表,所以Book.Sheets(0)和Book.Sheets(1)才会出错。
--  作者:刘林
--  发布时间:2017/3/20 13:01:00
--  
请问是不是加增加sheets(1)?如何增加?
--  作者:有点色
--  发布时间:2017/3/20 15:24:00
--  

回复5楼,参考 http://www.foxtable.com/webhelp/scr/1465.htm