select * into 临时表 FROM OpenDataSource('Microsoft.Jet.OLEDB.4.0','Data Source="Excel地址";
Extended properties=Excel 8.0')工作簿$存储过程:
CREATE PROCEDURE IntroductionExcel
@TableName varchar(2048), --导入到那个表的表名
@ExcelAddress varchar(2048), --导入的Excel文件的完全路径
@SheelName varchar(2048) --导入的Excel文件的工作簿名
AS
-- 如果要导入到的那个表存在,则先删除那个表
DECLARE @SQLDelTable varchar(2048)
set @SQLDelTable = 'if exists (select * from dbo.sysobjects where id = object_id(N''[dbo].[' + @TableName + ']'') and OBJECTPROPERTY(id, N''IsUserTable'') = 1) drop table [dbo].[' + @TableName + '] '
exec ( @SQLDelTable ) -- 用SQL执行制造存储过程中制造的SQL语句,只需要在语句加 exec()
-- 导入数据到指定的表中
DECLARE @SQLAddress varchar(2048)
set @SQLAddress ='''Data Source="' + @ExcelAddress + '";
Extended properties=Excel 8.0'''
DECLARE @SQlStr varchar(4000)
set @SQlStr = 'select * into TmpBaseData FROM OpenDataSource(''Microsoft.Jet.OLEDB.4.0'','
+ @SQLAddress + ')
Sheet1$'
exec (@SQlStr)
GOposted @ 2008-02-19 13:56 遭雷劈 阅读(65) 评论(0) 编辑

