SQLServer获取Excel中所有Sheet
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的事件探测器是一个很强大很直观的工具,当我们在ERP系统里面做一定操作的时候,都会在数据库里面形成查询或者增删改的T-SQL语句。通过事件探测器就可以知道ERP里面的单据在数据库的哪个表里面,甚至哪个字段里面。还可以根据探测到的SQL语句分析ERP系统的表结构,表之间的关联字段是哪个。
大家初打开事件探测器 ......
本篇内容系属SQLServer高级编程,适用于欲提高自己和复习或应付面试的朋友阅读,同时本人学习不久,在总结和归纳时错误和不恰当之处在所难免,还请指出其中‘端倪’,予以完善。
表1:Users
USE [Wish]
GO
/****** 对象: Table [dbo].[Users] 脚本日期: ......
SQL SERVER数据库开发的二十一条军规
如果你正在负责一基于SQL SERVER 的项目,或者刚刚接触SQL SERVER,你可能将面临一些数据库性能的问题。这篇文章会提供一些有用的经验-----关于如何形成好的设计。
一、了解你用的工具
不要轻视这一点,这是本文最关键的一条。也许你也看到有很多的SQL SERVER程序员没有掌握全部的T- ......
SQL Server 2008 Administration Instant Reference
SQL Server 2005 数据库基础与应用技术
Microsoft SQLServer 2005 Integration Services Step by Step
SQLServer 2005 Bible
SQL Server 2005 数据库服务架构设 ......