向SQL Server中导入Excel的数据

时间:2022-06-29 07:22:10

1.  手动界面导入Excel数据 同 https://jingyan.baidu.com/article/ce09321b9a0e252bff858ff9.html

  1. 首先打开并登陆sql server数据库,如图

    向SQL Server中导入Excel的数据
  2.  

    选择要将表导入的数据库,右击选择任务——>导入数据

    向SQL Server中导入Excel的数据
  3.  

    在弹出的窗口中选择下一步,如图

    向SQL Server中导入Excel的数据
  4.  

    在弹出的窗口中选择数据源,也就是从哪种文件导入,sql server支持多种格式的导入,这里选择excel,并点击下面的浏览,找到要导入的excel文件,并点击下一步

    向SQL Server中导入Excel的数据
  5.  

    在跳出的窗口中选择数据源,服务器名称(默认填好,不用动),身份验证方式可以选择window验证或者账号验证都可以,同时下面的数据库此时还可以选择更改

    向SQL Server中导入Excel的数据
  6.  

    选择第一个:复制一个或多个表或视图的数据,点击下一步

    向SQL Server中导入Excel的数据
  7.  

    重要一步:选择要导入的表,默认新建表Sheet1$,也可以自己选择已有的表,但注意的是表的数据类型要一直才能导入已存在的表中,下面可以点击预览查看将要导入的数据。

    向SQL Server中导入Excel的数据
  8.  

    最后点击下一步(默认立即运行),然后点击完成就导入了。这里是选择新建表就可以看到导入的excel数据了

    向SQL Server中导入Excel的数据
    向SQL Server中导入Excel的数据

2. 脚本导入

参考https://www.cnblogs.com/habin/archive/2012/08/01/2618845.html

a. 下载并安装

下载地址:A->选择64位下载(根据自己Sql server版本选择)

下载并安装,安装后

数据库-》服务器对象-》连接服务器-》访问接口-》Microsoft.ACE.OLEDB.12.0 能看到此内容时,说明安装成功。

安装成功后,运行以下代码,能正常显示说明安装成功。

--开启导入功能
exec sp_configure 'show advanced options',1
reconfigure
exec sp_configure 'Ad Hoc Distributed Queries',1
reconfigure
--允许在进程中使用ACE.OLEDB.12
EXEC master.dbo.sp_MSset_oledb_prop N'Microsoft.ACE.OLEDB.12.0', N'AllowInProcess', 1
--允许动态参数
EXEC master.dbo.sp_MSset_oledb_prop N'Microsoft.ACE.OLEDB.12.0', N'DynamicParameters', 1 --导入临时表
select * FROM OpenDataSource('Microsoft.ACE.OLEDB.12.0','Data Source="D:/Data/PhaseCN/Subject.xlsx";Extended properties=Excel 12.0')...sheet1$
--注意这里,要先关闭外围的设置,然后再关闭高级选项
exec sp_configure'Ad Hoc Distributed Queries',0
reconfigure
exec sp_configure'show advanced options',0
reconfigure
--关闭ACE.OLEDB.12的选项
EXEC master.dbo.sp_MSset_oledb_prop N'Microsoft.ACE.OLEDB.12.0', N'AllowInProcess', 0
EXEC master.dbo.sp_MSset_oledb_prop N'Microsoft.ACE.OLEDB.12.0', N'DynamicParameters', 0

注意:

需要用windows 本地身份运行。