解析SQLServer获取Excel中所有Sheet的方法

2022-11-12 09:43:27
内容摘要
这篇文章主要为大家详细介绍了解析SQLServer获取Excel中所有Sheet的方法,具有一定的参考价值,可以用来参考一下。 对此感兴趣的朋友,看看idc笔记做的技术笔记!E盘根目录新建一
文章正文

这篇文章主要为大家详细介绍了解析SQLServer获取Excel中所有Sheet的方法,具有一定的参考价值,可以用来参考一下。

对此感兴趣的朋友,看看idc笔记做的技术笔记!

E盘根目录新建一个Excel文件aa.xls后测试如下代码

代码如下:


use tempdb 
go 
if (object_id ('udf_getExcelTableNames' ) is not null )
 drop function dbo .udf_getExcelTableNames 
go 
create function udf_getExcelTableNames (@filename varchar (1000 ))
returns @t table (id int , name varchar (255 ))
as 
begin 
 declare 
 @error int , @obj int , @c int , @sheetname varchar (255 ) , @sheetstring varchar (255 )

 exec @error = sp_oacreate 'Excel.Application' , @obj out 
 exec @error = sp_oamethod @obj , 'Workbooks.Open' , @c out , @filename 
 exec @error = sp_oagetproperty @obj , 'ActiveWorkbook.Sheets.Count' , @c out 
 while (@c > 0 )
 begin 
 set @sheetstring = 'ActiveWorkbook.Sheets(' + ltrim (@c )+ ').Name' 
 exec @error = sp_oagetproperty @obj , @sheetstring , @sheetname out 
 insert into @t select @c , @sheetname 
 set @c = @c - 1 
 end 
 exec @error = sp_oadestroy @obj 
 return 
end 
go 
select * from dbo .udf_getExcelTableNames ('e:/aa.xls' )
/*--测试结果 
3 Sheet3 
2 Sheet2 
1 Sheet1 
*/ 

注:关于解析SQLServer获取Excel中所有Sheet的方法的内容就先介绍到这里,更多相关文章的可以留意

代码注释

作者:喵哥笔记

IDC笔记

学的不仅是技术,更是梦想!