解析SQLServer獲取Excel中所有Sheet的方法
更新時間:2013年06月26日 17:33:58 作者:
本篇文章是對SQLServer獲取Excel中所有Sheet的方法進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
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' )
/*--測試結(jié)果
3 Sheet3
2 Sheet2
1 Sheet1
*/
復(fù)制代碼 代碼如下:
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' )
/*--測試結(jié)果
3 Sheet3
2 Sheet2
1 Sheet1
*/
您可能感興趣的文章:
- 隨機(jī)提取Access/SqlServer數(shù)據(jù)庫中的10條記錄的SQL語句
- 如何在 Access 2003 和 Access 2002 中創(chuàng)建 DSN 的連接到 SQLServer 對鏈接表
- ACCESS轉(zhuǎn)SQLSERVER數(shù)據(jù)庫的注意事項(xiàng)
- Access轉(zhuǎn)SqlServer的注意事項(xiàng)
- asp.net 數(shù)據(jù)庫備份還原(sqlserver+access)
- SQL 隨機(jī)查詢 包括(sqlserver,mysql,access等)
- Excel導(dǎo)入Sqlserver數(shù)據(jù)庫腳本
- ASP將Excel數(shù)據(jù)導(dǎo)入到SQLServer的實(shí)現(xiàn)代碼
- ADO.NET 連接數(shù)據(jù)庫字符串小結(jié)(Oracle、SqlServer、Access、ODBC)
- 將ACCESS數(shù)據(jù)庫遷移到SQLSERVER數(shù)據(jù)庫兩種方法(圖文詳解)
- 將excel高效導(dǎo)入sqlserver的可行方法
- SQL SERVER 2008 64位系統(tǒng)無法導(dǎo)入ACCESS/EXCEL怎么辦
相關(guān)文章
SQL Server 在分頁獲取數(shù)據(jù)的同時獲取到總記錄數(shù)
本文通過兩種方法給大家介紹SQL Server 在分頁獲取數(shù)據(jù)的同時獲取到總記錄數(shù),感興趣的朋友跟隨腳本之家小編一起學(xué)習(xí)吧2018-05-05SQLserver 數(shù)據(jù)庫危險存儲過程刪除與恢復(fù)方法
SQLserver 數(shù)據(jù)庫危險存儲過程刪除與恢復(fù)方法,有時候是為了安全,也為了以后使用方便2011-09-09sqlserver實(shí)現(xiàn)樹形結(jié)構(gòu)遞歸查詢(無限極分類)的方法
下面小編就為大家?guī)硪黄猻qlserver實(shí)現(xiàn)樹形結(jié)構(gòu)遞歸查詢(無限極分類)的方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-07-07SQL SERVER中強(qiáng)制類型轉(zhuǎn)換cast和convert的區(qū)別詳解
這篇文章主要介紹了SQL SERVER中強(qiáng)制類型轉(zhuǎn)換cast和convert的區(qū)別詳解的相關(guān)資料,需要的朋友可以參考下2016-11-11淺述SQL Server的語句類別 數(shù)據(jù)庫范式 系統(tǒng)數(shù)據(jù)庫組成
本文著重講解了SQL語句的組成以及數(shù)據(jù)庫的三個范式,對系統(tǒng)數(shù)據(jù)庫的組成進(jìn)行簡短的介紹。有興趣的朋友可以看下2016-12-12SQL Server查看login所授予的具體權(quán)限問題
在SQL Server數(shù)據(jù)庫中如何查看一個登錄名(login)的具體權(quán)限呢,下面腳本之家小編給大家?guī)砹薙QL Server查看login所授予的具體權(quán)限問題,感興趣的朋友一起看看吧2019-09-09