如何使用Excel中的工作表更新SQL表

时间:2012-08-16 14:05:11

标签: sql-server-2008 excel import

我有一些SQL技能,但我有一个问题: 我目前通过电子邮件获得包含1张信息的月度Excel表格。我需要能够使用此信息完全更新和替换SQL Server 2008(express)中的表。

我试图创建一个删除表并使用类似的东西重新创建

的过程
Drop Table Utah

Create table Utah


Insert into dbo.[Utah] 
Select *    FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0', 
        'Excel 8.0;Database=c:< .sxl file here>;HDR=YES', 
    'SELECT * FROM [Utah]')

但是当我试图为此做准备时,我没有任何运气。

每个步骤似乎都是独立的,但要简化这一步并让其他人轻松做到 - 你能帮助我吗?

1 个答案:

答案 0 :(得分:0)

处理此问题的最佳方法是创建SSIS作业。

在那里,您可以自动执行处理Excel文件和刷新sql表的过程。它将非常流畅和方便。

如果是SQL Express,则将此代码作为Sproc运行

IF EXISTS(select * from sysobjects where name='Utah' and type='U')
DROP TABLE Utah
GO

Create table Utah(col1 int,col2 int)
Go

Insert into dbo.[Utah] 
Select * FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0', 
        'Excel 8.0;Database=c:< .sxl file here>;HDR=YES', 
    'SELECT * FROM [Utah]')

Go