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

 更新时间:2013年06月26日 17:33:58   作者:  
本篇文章是对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 中的 ACID 属性

    详解SQL Server 中的 ACID 属性

    SQL Server 中的事务是一组被视为一个单元的 SQL 语句,它们按照“做所有事或不做任何事”的原则执行,成功的事务必须通过 ACID 测试,这篇文章主要介绍了SQL Server 中的 ACID 属性,需要的朋友可以参考下
    2022-07-07
  • 自己收集比较强大的分页存储过程 推荐

    自己收集比较强大的分页存储过程 推荐

    这两天帮朋友修改一个项目,看到一个存储过程,感觉性能非常高。于是,整合自己以前搜集的比较好的存储过程,拿来跟大家分享下
    2011-11-11
  • SQL server内存问题排查方案

    SQL server内存问题排查方案

    由于昨晚线上服务器数据库突然访问数据缓慢,任务管理里面SQL server进程爆满等等,重大事故的排查拟写解决方案,文中通过代码示例和图文讲解的非常详细,需要的朋友可以参考下
    2024-03-03
  • SQL Server如何保证可空字段中非空值唯一

    SQL Server如何保证可空字段中非空值唯一

    今天同学向我提了一个问题,我觉得蛮有意思,现记录下来大家探讨下。问题是:在一个表里面,有一个允许为空的字段,空是可以重复的,但是不为空的值需要唯一。
    2011-03-03
  • SQL Server一个字符串拆分多行显示或者多行数据合并成一个字符串

    SQL Server一个字符串拆分多行显示或者多行数据合并成一个字符串

    这篇文章介绍了SQL Server一个字符串拆分多行显示或者多行数据合并成一个字符串的方法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-05-05
  • 浅析SQL Server的嵌套存储过程中使用同名的临时表怪像

    浅析SQL Server的嵌套存储过程中使用同名的临时表怪像

    这篇文章主要介绍了浅析SQL Server的嵌套存储过程中使用同名的临时表怪像,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-02-02
  • SQL Server附加数据库报错无法打开物理文件,操作系统错误5的图文解决教程

    SQL Server附加数据库报错无法打开物理文件,操作系统错误5的图文解决教程

    sqlserver附加数据时,提示无法打开物理文件,操作系统错误5什么原因呢?今天小编给大家分享SQL Server附加数据库报错无法打开物理文件,操作系统错误5的图文解决教程,一起看看吧
    2016-12-12
  • SQL Server中with as使用介绍

    SQL Server中with as使用介绍

    这篇文章主要介绍了SQL Server中with as使用介绍,需要的朋友可以参考下
    2019-11-11
  • sql server删除前1000行数据的方法实例

    sql server删除前1000行数据的方法实例

    最近处理数据的时候遇到了个问题,需要利用sql删除表格的前1000行数据,尝试过后这里给大家分享下过程,所以下面这篇文章主要给大家介绍了关于sql server删除前1000行数据的相关资料,需要的朋友可以参考下
    2021-08-08
  • sqlserver数据库移动数据库路径的脚本示例

    sqlserver数据库移动数据库路径的脚本示例

    前段时间做过这么一件事情,把原本放在c盘的所有数据库(除了sql server系统文件外)文件Move到D盘,主要是为了方便后续管理以及减少磁盘I/O阻塞(C,D是2个独立磁盘)。脚本需输入2个参数:目标数据库名字和目标目录
    2013-12-12

最新评论