2009-01-23 104 views
12

我需要将一个excel电子表格导入到SQL Server 2005.我需要采取哪些步骤来实现它?如何将Excel电子表格导入SQL Server?

+0

您正在使用哪个版本的SQL Server ? – 2009-01-23 11:59:44

+0

我正在使用verison 2005 – Fee 2009-01-23 13:50:29

回答

17

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

的这里说明假定的SQL Server 2000

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

根据你想用数据做什么,你有几种选择新的。对于一次性工作,我通常会发现导入所有excel数据最简单,然后在SQL Server中进行编辑,但如果要对多个文件重复此操作,可能需要制作一个非常性感的导入脚本。

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

7

另一种快速,(非常)肮脏的解决方案是将公式添加到Excel工作表,就像这样:

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

复制下来(CTRL + d)和你去好。

9

你也可以用OPENROWSET

INSERT INTO SOMETABLE SELECT * FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0', 
'Excel 8.0;Database=C:\testing.xls','SELECT * FROM [Sheet1$]') 
-1

做到这一点。如果您的电子表格不是为一到一个进口很好地组织到SQL表,(如:格式化后小标题可读性,空白,累加器列等),那么现成的工具可以用来做这种事情。示例请参见Khronos Excel Pump。免责声明 - 我为销售该产品的公司工作。这是非常可配置的,所以你可以保持你的电子表格人性化布局,并仍然可靠地导入到结构化SQL表格中,包括用身份字段值替换文本值或者旋转宽网格来缩小表格等。