如何将Excel电子表格导入SQL Server?

13
我需要将一个Excel电子表格导入SQL Server 2005中。为了完成这个任务,我需要采取哪些步骤?

你正在使用哪个版本的SQL Server? - RB.
4个回答

18

"数据转换服务"向导是你的朋友。

以下说明假定使用SQL Server 2000。

  • 打开SQL Server Enterprise Manager
  • 右击相应的服务器
  • 选择导入数据
  • 按照向导步骤操作。
    • 在第一个屏幕上点击下一步
    • 选择 "Microsoft Excel" 作为数据源
    • 输入XLS文件的路径并单击下一步。
    • 输入数据库的连接详细信息,然后单击下一步。

根据你想要对数据执行的操作,有几个选项可供选择。对于一次性任务,我通常发现最容易的方法是将所有Excel数据导入,然后在SQL Server中进行编辑。但如果你要在多个文件上重复执行此操作,则可能需要编写一个非常高效的导入脚本。

如果你希望再次运行它,则可以使用向导保存DTS包,然后在企业管理器的 "数据转换服务" 部分进行编辑。这是学习DTS工作方式的好方法。


完美!这是正确的答案。DTS的好处在于导入数据之前不需要预先创建表格。很棒。 - Fandango68

9
你也可以使用OPENROWSET进行操作。
INSERT INTO SOMETABLE SELECT * FROM OPENROWSET( 'Microsoft.Jet.OLEDB.4.0',
'Excel 8.0;Database=C:\testing.xls','SELECT * FROM [Sheet1$]')

8

另一种快速且(非常)简单的解决方案是在Excel表格中添加一个公式,如下所示:

="INSERT INTO table1(col1, col2, col3) SELECT " & A1 & ", '" & B1 & "', '" & C1 & "'"

复制下列内容(CTRL+D),然后就可以开始了。

-2

如果您的电子表格没有为一对一导入到SQL表格进行良好的组织(例如,使用副标题、空白、总计列等格式以提高可读性),那么有一些现成的工具可以用来完成这种操作。请参见Khronos Excel Pump作为示例。免责声明 - 我在销售此产品的公司工作。它非常可配置,因此您可以保持电子表格的人类布局,并可靠地导入到结构化的SQL表格中,包括将文本值替换为标识字段值或将宽网格旋转为窄表格等。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接