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
*/
相关文档:
我们总是把SQL Server 这个单词挂在嘴边,也许很少有人思考过 SQL Server 到底是什么东西。这个问题很难用几句话讲清楚。我们之所以要用连载的方式讨论 SQL Server,就是要从不同的角度阐述这个问题。
一、服务器组件
SQL Server 2000由两个部分组成:服务器组件和客户端工具。
1.内容
SQL Server的服 ......
SQLSERVER的事件探测器是一个很强大很直观的工具,当我们在ERP系统里面做一定操作的时候,都会在数据库里面形成查询或者增删改的T-SQL语句。通过事件探测器就可以知道ERP里面的单据在数据库的哪个表里面,甚至哪个字段里面。还可以根据探测到的SQL语句分析ERP系统的表结构,表之间的关联字段是哪个。
大家初打开事件探测器 ......
MS Sqlserver 2005 集群是指数据库高可用性集群,能实现通常所说的“双机热备”,即当一台服务器停掉数据库服务可以自动转移到另一台服务器。
环境要求:
1、windows 2003 server企业版
&nb ......
本篇内容系属SQLServer高级编程,适用于欲提高自己和复习或应付面试的朋友阅读,同时本人学习不久,在总结和归纳时错误和不恰当之处在所难免,还请指出其中‘端倪’,予以完善。
表1:Users
USE [Wish]
GO
/****** 对象: Table [dbo].[Users] 脚本日期: ......
在SQL Server 中插入一条数据使用Insert语句,但是如果想要批量插入一堆数据的话,循环使用Insert不仅效率低,而且会导致SQL一系统性能问题。下面介绍SQL Server支持的两种批量数据插入方法:Bulk和表值参数(Table-Valued Parameters)。
运行下面的脚本,建立测试数据库和表值参数。
代码如下:
--Create D ......