SqlServer查询Excel中的数据

步骤如下:

--1.开启远程查询支持
exec sp_configure 'show advanced options' ,1
reconfigure
exec sp_configure 'Ad Hoc Distributed Queries',1
reconfigure

--2.链接Excel Microsoft ACE 12.0 OLE DB Provider 读Excel数据(注意Excel必须事先关闭)
select * from
openrowset('Microsoft.ACE.OLEDB.12.0','Excel 12.0;HDR=Yes;DATABASE=C:/Users/nichk/Desktop/data.xls', Sheet1$);

--3.记得用完选项后,关闭这些选项
exec sp_configure 'Ad Hoc Distributed Queries',0
reconfigure
exec sp_configure 'show advanced options',0
reconfigure

--4.查看是不是关闭
exec sp_configure

记得电脑必须安装oledb提供程序(可搜索AccessDatabaseEngine.exe在微软官网下载安装),不同的版本访问方式不一样,如下是各版本的访问方式:

--> Jet 引擎访问 Excel 97-2003  
select * from OpenRowSet('Microsoft.Jet.OLEDB.4.0', 'Excel 8.0;HDR=Yes;IMEX=1;Database=D:/97-2003.xls', 'select * from [Sheet1$]')  
select * from OpenRowSet('Microsoft.Jet.OLEDB.4.0', 'Excel 8.0;HDR=Yes;IMEX=1;Database=D:/97-2003.xls', [Sheet1$])  
select * from OpenDataSource('Microsoft.Jet.OLEDB.4.0', 'Excel 8.0;HDR=Yes;IMEX=1;Database=D:/97-2003.xls')...[Sheet1$]  
select * from OpenDataSource('Microsoft.Jet.OLEDB.4.0', 'Data Source=D:/97-2003.xls;Extended Properties="Excel 8.0;HDR=Yes;IMEX=1"')...[Sheet1$]  
  
--> ACE 引擎访问 Excel 97-2003  
select * from OpenRowSet('Microsoft.ACE.OLEDB.12.0', 'Excel 12.0;HDR=Yes;IMEX=1;Database=D:/97-2003.xls', 'select * from [Sheet1$]')  
select * from OpenRowSet('Microsoft.ACE.OLEDB.12.0', 'Excel 12.0;HDR=Yes;IMEX=1;Database=D:/97-2003.xls', [Sheet1$])  
select * from OpenDataSource('Microsoft.ACE.OLEDB.12.0', 'Excel 12.0;HDR=Yes;IMEX=1;Database=D:/97-2003.xls')...[Sheet1$]  
select * from OpenDataSource('Microsoft.ACE.OLEDB.12.0', 'Data Source=D:/97-2003.xls;Extended Properties="Excel 12.0;HDR=Yes;IMEX=1"')...[Sheet1$]  
  
--> ACE 引擎访问 Excel 2007  
select * from OpenRowSet('Microsoft.ACE.OLEDB.12.0', 'Excel 12.0;HDR=Yes;IMEX=1;Database=D:/2007.xlsx', 'select * from [Sheet1$]')  
select * from OpenRowSet('Microsoft.ACE.OLEDB.12.0', 'Excel 12.0;HDR=Yes;IMEX=1;Database=D:/2007.xlsx', [Sheet1$])  
select * from OpenDataSource('Microsoft.ACE.OLEDB.12.0', 'Excel 12.0;HDR=Yes;IMEX=1;Database=D:/2007.xlsx')...[Sheet1$]  
select * from OpenDataSource('Microsoft.ACE.OLEDB.12.0', 'Data Source=D:/2007.xlsx;Extended Properties="Excel 12.0;HDR=Yes;IMEX=1"')...[Sheet1$]

 

转载于:https://www.cnblogs.com/zhaoshujie/p/9765313.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要将SQL Server查询结果导出到Excel文件,可以使用以下方法: 方法一: 1. 在SQL Server选择数据库,右键点击任务,选择导出数据。 2. 在打开的导入导出向导,选择服务器名称,使用SQL Server身份验证,输入用户名和密码,选择数据库,点击下一步。 3. 选择目标为Microsoft Excel,选择要保存Excel文件的路径,点击下一步。 4. 编写查询以指定要传输的数据,点击下一步。 5. 将SQL语句复制到对话框,点击下一步。 6. 可以编辑映射,查看预览,然后一直点击下一步直至完成。 7. 导出成功后,可以查看导出的Excel文件。\[1\] 方法二: 1. 在SQL Server执行查询,将结果复制。 2. 打开Excel,点击左上角的单元格,选择全选,右键选择另存为,选择Excel格式保存。 3. 在Excel编辑数据格式,例如处理日期格式和字符类型数据。 - 对于日期格式的数据,选日期列,右键点击设置单元格格式,选择日期类型。 - 对于字符类型数据,选字符列,选择数据菜单,点击分列,选择固定宽度,点击下一步,选择文本数据格式,点击完成。 4. 导入数据库时,确保临时表的字段类型与正式表的类型匹配,以避免导入数据出现乱码。 - 如果是时间类型,可以提前将类型转换,例如使用CONVERT函数进行转换。 - 示例代码:insert into OeeTerm (devID, ida, status, andonState, rprtBarCode, \[user\], time, endTime, production, source, partNo, serialNo, qualityRate, processHour) select F2, F3, F4, F5, F6, F7, CONVERT(varchar(100), F8, 120), CONVERT(varchar(100), F9, 120), F10, F11, F12, F13, F14 from qwe。\[2\]\[3\] 以上是两种常用的将SQL Server查询结果导出到Excel文件的方法。您可以根据具体情况选择适合您的方法进行操作。 #### 引用[.reference_title] - *1* [SQL Server查询结果导出到EXCEL表格](https://blog.csdn.net/weixin_44226883/article/details/126009844)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [Sqlserver导入、导出Excel](https://blog.csdn.net/Myzhouzhou/article/details/120757094)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值