create proc AddTableOneDataSource
@TableName nvarchar(200),--数据库中表的名字
@Path nvarchar(500)--文件的路径
as
insert into TableOne --表名:字段要和excel的一致插入一个表
select * from OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',
'Data Source="E:\Test\TableOne.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...[Sheet1$]我想用存储过程来实现导入excel的功能,但是间“TableOne ”替换成“TableName ”会出现“请申明TableName”,
下面的data source="E:\Test\TableOne.xls";我想用“@Path (如:data source="'+@Path +'";) ”来替换,但报错说+号附近有语法错误。请教各位如何替换!
set @sql= ' insert into '+@tablename+
' SELECT * '+
' FROM OpenDataSource( ' 'Microsoft.Jet.OLEDB.4.0 ' ', ' 'Data Source= '+@filename+';User ID=Admin;Password=;Extended properties=Excel 5.0;HDR=yes;imex=1 ' ')...[ '+@exceltablename+ '] '
exec(@sql)
@TableName nvarchar(200),--数据库中表的名字
@Path nvarchar(500)--文件的路径
as
declare @sql varchar(1000)
set @sql= ' insert into '+@tablename+
' SELECT * '+
' FROM OpenDataSource( ' 'Microsoft.Jet.OLEDB.4.0 ' ', ' 'Data Source= '+@filename+';User ID=Admin;Password=;Extended properties=Excel 5.0;HDR=yes;imex=1 ' ')...[ '+@exceltablename+ '] '
exec(@sql) --这里就是执行插入操作。
go