请问 用vb操作excel时怎么查询?

lololo134 2005-01-26 10:31:01
想用vb对excel实现类似对数据库的操作 比如查询 分组 排序等
请问可以实现么?
该怎么做呢?
...全文
95 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
landlordh 2005-01-27
  • 打赏
  • 举报
回复
eg.

Dim myConn As OleDbConnection
Dim myAdaptor As OleDbDataAdapter
Dim ds As New DataSet
Try
myConn = New OleDbConnection("provider=Microsoft.Jet.OLEDB.4.0;Extended Properties=Excel 8.0;data source=" & path) '路径
If myConn.State <> ConnectionState.Open Then myConn.Open()
myAdaptor = New OleDbDataAdapter("Select * From [" & sheet & "$]", myConn) 'sheet 为 工作表名
myAdaptor.Fill(ds, "ExcelData")
Return ds.Tables(0)
Catch ex As Exception
MsgBox(ex.Message)
Finally
If myConn.State <> ConnectionState.Closed Then myConn.Close()
End Try
DeltaCat 2005-01-27
  • 打赏
  • 举报
回复
差不多了
simon8181 2005-01-27
  • 打赏
  • 举报
回复
msdn
landlordh 2005-01-27
  • 打赏
  • 举报
回复
//新表插入
SELECT * into Table1 FROM
OPENROWSET('MICROSOFT.JET.OLEDB.4.0'
,'Excel 5.0;HDR=YES;DATABASE=c:\test.xls',sheet1$)

//然后:向已有表插入数据
INSERT INTO Table1
SELECT * FROM OpenRowSet('microsoft.jet.oledb.4.0','Excel 8.0;
HDR=NO;IMEX=1;database=c:\test2.xls;','select * from [Sheet1$]')

方法2,
使用OpenDataSource进行插入操作,可以实现指定列的插入(同一记录其他列则为NULL)
insert OPENDATASOURCE
('SQLOLEDB','Data Source=服务器ip;User ID=用户名;Password=密码')
.SXSBD.dbo.Table1(字段1,字段2)
SELECT 字段1,字段2
FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',
'Data Source="c:\test.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...sheet1$

KiteMail 2005-01-27
  • 打赏
  • 举报
回复
一样,用SQL语句!

行:1,2,3,.....
列:a,b,c,.....
表名:[Sheet1$],[Sheet2$],[Sheet3$],.....

参考:(Excel数据库连接字符串)
Microsoft.Jet.OLEDB.4.0','Data Source=c:\test.xls;User ID=Admin;Password=;Extended properties=Excel 8.0
直接用opendatasource打开的:
"opendatasource ('Microsoft.Jet.OLEDB.4.0','Data Source=c:\test.xls;User ID=Admin;Password=;Extended properties=Excel 8.0')...[Sheet1$]"

16,554

社区成员

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

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