如何将 Excel 文件导入 SQLServer?

我有一个 Excel 文件的数据-实际上是 XLSX格式,因为它现在是2020年。我的要求是按如下方式将这些数据放入 SQLServer:

  1. 特别的,用例是提供带有测试数据的表,或者少量数据(比如 < 3k 行)的不经常的数据负载,以及

  2. 以可重复、健壮和可能自动化的方式用于生产系统。

378356 次浏览

有很多关于编写导入 Excel 文件的代码的文章,但这是一个手动/快捷版本:

如果不需要使用代码以编程方式导入 Excel 文件,可以使用 SQLServerManagementStudio (SSMS)中的菜单快速导入。

将 Excel 文件导入 SQL 的最快方法是使用导入向导:

  1. 打开 SSMS (SQLServerManagementStudio)并连接到要将文件导入到的数据库。

  2. 导入数据 : 在对象资源管理器的“ Databases”下的 SSMS 中,右键单击目标数据库,并选择 任务,导入数据。将弹出一个导入向导(您通常只需在第一个屏幕上单击 Next)。

    Enter image description here

  3. 下一个窗口是“ 选择数据源”,选择 Excel:

  • 在“数据源”下拉列表中,选择 Microsoft Excel(如果安装了 Excel,此选项将自动显示)。

  • 单击“ Browse”按钮选择要导入的 Excel 文件的路径。

  • 选择 Excel 文件的版本(对于具有。XLS 扩展名,或者使用2007获取具有。XLSX 分机)

  • 如果 Excel 文件包含标题,请勾选“第一行有标题”复选框。

  • Next

    Enter image description here

  1. 选择目的地的屏幕上,选择目标数据库:
  • 选择“ Server name”、 Authentication (通常是 sql 用户名和密码)并选择 Database 作为目标。

    enter image description here

  1. 在“ 指定表复制或查询”窗口:
  • 为简单起见,只需选择“从一个或多个表或视图复制数据”,单击“下一步”。
  1. 选择源表:”从 Excel 文件中选择工作表,并为每个工作表指定一个目标表。如果您还没有一个表,向导将非常友好地创建一个新表,以匹配您的电子表格中的所有列。单击“下一步”。

    Enter image description here

  2. Finish

还可以使用 OPENROWSET在 SQLServer 中导入 Excel 文件。

SELECT * INTO Your_Table FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0',
'Excel 12.0;Database=C:\temp\MySpreadsheet.xlsx',
'SELECT * FROM [Data$]')