将数据从Excel导入SQL Server

时间:2014-11-05 23:07:41

标签: sql sql-server excel import

我只是尝试将数据从Excel文件添加到SQL Server。我可以作为一个整体导入新表,但这意味着我必须再次分配索引。是否可以导入现有表格?

我看到another question与此类似,我尝试了那里的建议,点击“编写查询以指定数据传输”

From this diagram

我输入了以下查询

INSERT INTO Customer (Customer_Id, Customer_Name, Customer_Company, Address, Phone)
   SELECT 
      A.[Column1], A.[Column2], A.[Column3], A.[Column4], A.[Column5]
  FROM 
      OPENROWSET('Microsoft.Jet.OLEDB.4.0', 'Excel 8.0;Database=D:\Excel.xls;HDR=YES', 'select * from [Sheet1$]') AS A;

我真的不理解它的第二部分的语法..我在FROM子句中遇到语法错误。

任何线索?

2 个答案:

答案 0 :(得分:2)

从Excel导入数据以进行一次性导入的最简单方法是使用SQL Server导入和导出向导,如问题中的图片所示。您应选择Microsoft Excel作为数据源,指定电子表格的文件路径,并指定第一行是否包含列标题。然后指定目标SQL服务器和数据库。

从图表中选择的选项中选择另一个选项 - “从一个或多个表格或视图中复制数据”。然后,您可以在电子表格中选择要导入的工作表,并指定要将数据放入的目标表。重要的是,您可以编辑映射,以便电子表格中的数据进入表中的正确列 - 现有表或新表。在幕后,向导会生成与您问题中的脚本类似的脚本,但如果正确设置向导,则不必担心它。

从内存中你也可以将其转换为SSIS包,因此它是一个可重复的过程。

答案 1 :(得分:2)

您只需从sql server中的单元格中复制并粘贴excel即可。 :DD

我现在看到这个,当我遇到与你相同的问题时。

这就是我所做的:

我从excel复制我的数据:enter image description here

接下来在sql server中,我命令我的表生成用于编辑200行的脚本:

enter image description here

然后在编辑行的最后一行,你应该超越值:

enter image description here

而且......那就是它!容易腻话