【SQLserver】使用openrowset方法导入EXCEL表格数据

一、前言

在之前的一篇博文中记录了用OPENDATASOURCE函数将EXCEL数据写入SQLserver表中的方法。这一方法需要表名sheet1为固定名称不可更改。实际业务中可能会遇到表名随着日期而改动的情况,如果excel表名和写入SQL语句里的表名不一致就会出错。这篇博文介绍了如何跳过表名sheet1直接读取数据的方式。

--导入整张表语句
--SELECT * FROM OPENDATASOURCE('Microsoft.ACE.OLEDB.12.0','Data Source=C:\Data\qaz\123.xlsx;Extended Properties="Excel 8.0;HDR=YES;IMEX=1"')...Sheet1$

二、SQL语句

--导入指定行列语句
SELECT * FROM openrowset(
    'Microsoft.ACE.OLEDB.12.0','Excel 8.0;Database=C:\Data\qaz\123.xlsx','select * from [Sheet1$A1:BC1048576]')

说明:

        ① database:这部分填写excel文件存放路径;

        ②select * from[sheet1$A1:BC1048576]:读取表格的数据。