永发信息网

如何用SQL语句查询Excel数据

答案:2  悬赏:70  手机版
解决时间 2021-01-28 04:24
如何用SQL语句查询Excel数据
最佳答案
SELECt *
FROM OpenDataSource( 'Microsoft.ACE.OLEDB.12.0',
'Data Source="c:\book1.xlsx";User ID=Admin;Password=;Extended properties=Excel 12.0')...[Sheet1$]

SELECt * FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0','Excel 12.0;Database=C:\book1.xlsx', 'SELECt * FROM [Sheet1$A1:D100]')

SELECt * FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0','Excel 12.0;Database=C:\book1.xlsx', 'SELECt * FROM [Sheet1$]')

2003版本:

SELECt *
FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',
'Data Source="c:\book1.xls";User ID=Admin;Password=;Extended properties=Excel 8.0')...[Sheet1$]

SELECt * FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0','Excel 8.0;Database=C:\book1.xls', 'SELECt * FROM [Sheet1$]')

SELECt * FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0','Excel 8.0;Database=C:\book1.xls', 'SELECt * FROM [Sheet1$A1:D100]')

而且,还需要用拥有服务器sysadmin角色权限的登录帐号,先执行下列语句打开SQL SERVER的'Ad Hoc Distributed Queries'开关。

exec sp_configure 'show advanced options',1;reconfigure;
exec sp_configure 'Ad Hoc Distributed Queries',1;reconfigure;

执行查询后,再用相反顺序的语句,关闭'Ad Hoc Distributed Queries'开关。

exec sp_configure 'Ad Hoc Distributed Queries',0;
reconfigure;exec sp_configure 'show advanced options',0;reconfigure;
全部回答
在宏编辑界面中进行sql数据查询以及生成报表的代码如下: sub static() dim objnewworkbook as workbook '定义一个workbook对象 set objnewworkbook = workbooks.add(thisworkbook.path & "\模板.xlt") '使用模板文件新建一个excel报表生成文件 set objconnection = createobject("adodb.connection") '创建一个ado连接 objconnection.open "provider=microsoft.jet.oledb.4.0;extended properties='excel 8.0;hdr=yes;imex=1';data source=" & thisworkbook.fullname '设置连接字符串 strcommand = "select 施工人, count(*) as 拆电话 from [" & sheet1.name & "$] where 施工动作 = '拆' and 专业类型 = '电话' group by 施工人" '查询表单一中的数据源进行统计 ?objnewworkbook.sheets(1).range("a3").copyfromrecordset objconnection.execute(strcommand) 2.将查询统计结果输出到目的报表文件的表单1的从a3开始的区域中 3.下面代码是调用excel的排序方式进行汉字排序,这里sql语句中的排序对于汉字排序与期望结果不同 4.使用excel中的排序方法是根据excel版本不同调用有所区别 select case application.version case "11.0": objnewworkbook.sheets(1).range("a3:m" & cstr(intsumrow - 1)).sort key1:=objnewworkbook.sheets(1).range("a3"), order1:=xlascending, header:=xlno, _ ordercustom:=1, matchcase:=false, orientation:=xltoptobottom, sortmethod _ :=xlpinyin, dataoption1:=xlsortnormal case "12.0": objnewworkbook.sheets(1).sort.sortfields.clear objnewworkbook.sheets(1).sort.sortfields.add key:=range("a3:a" & cstr(intsumrow - 1)), sorton:=x
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
并发的意思是什么啊?知道的请说下!
时间 面积分摊费用
【晁盖为什么不是108将】水浒传108将:事迹例:
新建建筑必须达到绿色建筑一星标准吗
巨蟹座的幸运数字
近理的意思是什么啊?知道的请说下!
我贷款84000买车3年还贷请问等额本息和等额本
梦到前男友跟我说浪够了就回来,然后给了我一
武装押运每天都干什么?
胡歌上金星秀是哪一期什么时候播出
欧米茄机械表两个月快3分钟正常吗
(11分)九年级某班同学在以“近代化探索”为
手绘手机壳怎么固色?清漆味道很大。
一人得道,鸡犬升天有讽刺的味道,与它同义的
沈疴的意思是什么啊?知道的请说下!
推荐资讯
我在淘宝网买的最新婚纱礼服,可是质量不怎么
内蒙古高考录取
为什么我经常做梦从高处往下掉?
大家好,我有几个关于职场的问题想要咨询,先
有一个好像是 超级机器人大战 的对打游戏
dnf很难原代码很难破译吗
泰语初学者,应该怎么学才能快点掌握?只学一
长葛市高档小区都有哪些,位置在哪
阜阳到漯河的车经过界首吗?在界首下吗?
广汽传祺祺盛地址在什么地方,想过去办事
中国移动(田师付营业厅)怎么去啊,我要去那办
()除以()等于0.19,9是循环结.
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?