将几个EXCEL表的数据用SQL读取后导入到DATAGRIDVIEW

wx9288 2017-08-28 10:24:45
有3张或多张EXCEL表
如A 表 B 表 C表
格式完全一致
通过代码取得A表的数据并导入到DATAGRIDVIEW

Dim strPath As String = "d:\A.xls"
Dim search_command As String
Dim name As String = "结算表"

Dim strConn As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & strPath & ";Extended Properties ='Excel 8.0;HDR=False;IMEX=1'"

Using OleConn As New OleDb.OleDbConnection(strConn)

OleConn.Open()

search_command = "SELECT * FROM [" & name & "$] "

Dim OleDaExcel As New OleDb.OleDbDataAdapter(search_command, OleConn)

Dim ds As New DataSet()

OleDaExcel.Fill(ds)

DATAGRIDVIEW1.DataSource = ds.Tables(0)


OleConn.Close()
End Using


请问如何将B表或C表也添加到DATAGRIDVIEW1中,如果按以上代码进行循环最后只有C表存在,A表B表数据都没了
...全文
581 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
轻鸿万里 2017-10-30
  • 打赏
  • 举报
回复
告诉你很简单的方法。充分发挥剪切板的功能。直接复制粘贴过去。 My.Computer.Clipboard.SetText ()
xyxcc177109 2017-09-25
  • 打赏
  • 举报
回复
OleDaExcel.Fill(ds,“dt_A”) ...... OleDaExcel.Fill(ds,“dt_B”) ...... OleDaExcel.Fill(ds,“dt_C”) ds.Table("dt_A").Merge(ds.Table("dt_B") ds.Table("dt_A").Merge(ds.Table("dt_C") DATAGRIDVIEW1.DataSource = ds.Tables("dt_A")
gguuoolluu 2017-09-12
  • 打赏
  • 举报
回复
引用 2 楼 yjqmaster 的回复:
用的是FILL肯定没啊,楼上方法不错,可以用UNION ALL,否则就不能用FILL,可以循环读取数据,然后在DATAGRIDVIEW中写单元格
这个方法可以
想飞的狼 2017-08-29
  • 打赏
  • 举报
回复
用的是FILL肯定没啊,楼上方法不错,可以用UNION ALL,否则就不能用FILL,可以循环读取数据,然后在DATAGRIDVIEW中写单元格
xdashewan 2017-08-29
  • 打赏
  • 举报
回复
如果字段相同可以使用union all

16,554

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧