求一个for each 语句写法
aclan 2009-03-25 09:01:10 要实现:
在gridview中已显示出4个字段的内容,(这4个字段是通过外键从3个表里选出的)现在要通过一个循环语句将gridview里的每个字段中的值全部写入excel里.表头设置正常,可以显示出来,但是运行到For Each dr In bookinfo.Tables(0).Rows
时报错:无法找到表 0.排错提示:确保列表中的最大索引小于列表的大小.
确保数据列名称正确.
确保索引不是负数.
获取此异常的常规帮助.
我点开了每一个却不明白错在哪里,不知怎样改?请哪位高人给指点一下!
代码如下:
'设置excel的表头
oSheet.Cells(1, 1).Value = "图书编号"
oSheet.Cells(1, 2).Value = "图书名称" '图书编号和图书名称字段来自图书表
oSheet.Cells(1, 3).Value = "借阅人姓名" '借阅人姓名字段来自读者表
oSheet.Cells(1, 4).Value = "还书日期" '还书日期字段来自借书表
Dim i As Integer = 2
Dim bookinfo As New DataSet
'循环dataset的rows collection,并在每行中编写到excel的单元格中
Dim dr As DataRow
For Each dr In bookinfo.Tables(0).Rows
oSheet.Range("A" & i.ToString).Value = dr("图书编号")
oSheet.Range("B" & i.ToString).Value = dr("图书名称")
oSheet.Range("C" & i.ToString).Value = dr("借阅人姓名")
oSheet.Range("D" & i.ToString).Value = dr("还书日期")
i += 1
Next
谢谢!