数据库——多种方法导入Excel数据

文章目录

  • 一、SQL Server导入Excel数据
  • 二、小技巧导入Excel数据
  • 三、使用Microsoft.ACE.OLEDB导入Excel数据
  • 四、手动添加一行数据
  • 五、手动添加多行数据
  • 五、解决类型不匹配致导入失败

一、SQL Server导入Excel数据

数据库——多种方法导入Excel数据_第1张图片
数据库——多种方法导入Excel数据_第2张图片
数据库——多种方法导入Excel数据_第3张图片
数据库——多种方法导入Excel数据_第4张图片
数据库——多种方法导入Excel数据_第5张图片
接下来就一直点击NEXT,直到完成
数据库——多种方法导入Excel数据_第6张图片
此时EXCEL的数据就被导入进SQL Server了:
数据库——多种方法导入Excel数据_第7张图片

数据库——多种方法导入Excel数据_第8张图片

二、小技巧导入Excel数据

这个技巧就是直接使用复制粘贴的方式:

注意:这种方法只适用于添加少量数据,如果是几十万行的数据,是无法这样导入的。

如图,我们在Excel当中直接复制数据:
数据库——多种方法导入Excel数据_第9张图片
右键PTYPES表,选择编辑前2002行:
数据库——多种方法导入Excel数据_第10张图片
直接右键粘贴:
数据库——多种方法导入Excel数据_第11张图片
此时就直接可以导入数据了:
数据库——多种方法导入Excel数据_第12张图片

三、使用Microsoft.ACE.OLEDB导入Excel数据

首先安装包:
在这里插入图片描述
执行如下代码导入Excel表格中的数据:

SELECT * FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0','Excel 12.0;Database=D:\S072003DBS\食品销售数据\类别.XLSX',[类别$]);

数据库——多种方法导入Excel数据_第13张图片

如果发生报错,则参考如下代码:

	-- 报错一:SQLServer阻止了对组件'AdHocDistributedQueries'的STATEMENT'OpenRowset/OpenDatasource'的访问,
	-- 因为此组件已作为此服务器安全配置的一部分而被关闭。系统管理员可以通过使用。
	-- sp_configure启用'AdHocDistributedQueries'。

	-- 解决方法:
	
	-- 启用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

	-- 报错二:无法创建链接服务器“(null)”的 OLE DB 访问接口“Microsoft.ACE.OLEDB.12.0”的实例。
	-- 解决方法:
	
	 --允许在进程中使用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

四、手动添加一行数据

	INSERT INTO PTYPES (PTID,PTNAME) VALUES(101,'细粮')

在这里插入图片描述
数据库——多种方法导入Excel数据_第14张图片

五、手动添加多行数据

	INSERT INTO PTYPES (PTID,PTNAME) VALUES
	(102,'有机蔬菜'),(103,'有机粮食'),(104,'有机水果')

数据库——多种方法导入Excel数据_第15张图片

五、解决类型不匹配致导入失败

数据库——多种方法导入Excel数据_第16张图片

数据库——多种方法导入Excel数据_第17张图片
发现下面导入失败:
数据库——多种方法导入Excel数据_第18张图片
原因在于供应商和类别的类型定义的是INT,但是在excel当中他们是字符串类型,因此导入失败:
数据库——多种方法导入Excel数据_第19张图片

数据库——多种方法导入Excel数据_第20张图片
解决方法:
将两者忽略。相应的,在数据库当中要将两者设置为允许空值。
数据库——多种方法导入Excel数据_第21张图片
数据库——多种方法导入Excel数据_第22张图片

在这里插入图片描述
此时就导入成功了:
数据库——多种方法导入Excel数据_第23张图片

你可能感兴趣的:(【数据库应用】,数据库)