13

我需要将 Excel 电子表格导入 SQL Server 2005。我需要采取哪些步骤来完成此操作?

4

4 回答 4

18

“数据转换服务”向导是您的朋友。

此处的说明假定 SQL Server 2000

  • 打开 SQL Server 企业管理器
  • 右键单击相应的服务器
  • 选择导入数据
  • 运行向导。
    • 在第一个屏幕上单击下一步
    • 选择“Microsoft Excel”作为您的数据源
    • 输入 XLS 文件的路径,然后单击下一步。
    • 输入数据库的连接详细信息,然后单击下一步。

根据您要对数据执行的操作,您有一些新选项。对于一次性工作,我通常发现最简单的方法是导入所有 Excel 数据,然后在 SQL Server 中对其进行编辑,但如果您要对多个文件重复此操作,您可能想要制作一个非常性感的导入脚本。

如果要再次运行它,可以使用向导保存 DTS 包,然后在企业管理器的“数据转换服务”部分进行编辑。这是了解 DTS 工作原理的好方法。

于 2009-01-23T11:53:00.380 回答
9

您也可以使用 OPENROWSET

INSERT INTO SOMETABLE SELECT * FROM OPENROWSET( 'Microsoft.Jet.OLEDB.4.0',
'Excel 8.0;Database=C:\testing.xls','SELECT * FROM [Sheet1$]')
于 2009-01-23T14:15:15.617 回答
8

另一种快速且(非常)肮脏的解决方案是将公式添加到 excel 表中,如下所示:

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

将其复制下来(CTRL + D),您就可以开始了。

于 2009-01-23T12:01:26.370 回答
-2

如果您的电子表格没有很好地组织到 SQL 表的一对一导入(例如,格式化为具有子标题、空格、累加器列等的可读性),那么您可以使用现成的工具做这种事情。有关示例,请参阅Khronos Excel 泵。免责声明 - 我为销售此产品的公司工作。它非常可配置,因此您可以将电子表格保持在人工布局中,并且仍然可靠地导入结构化 SQL 表,包括用标识字段值替换文本值或将宽网格旋转到窄表等。

于 2017-11-12T00:52:18.337 回答