求一个for each 语句写法

aclan aclan 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
要实现:
在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
谢谢!
...全文
评论 7
收藏 已收藏
分享
返回顶部
aclan
VB 16,718 成员 110,520 内容