zoukankan      html  css  js  c++  java
  • 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
    */
  • 相关阅读:
    用户使用调查报告
    Beta总结
    Beta冲刺Day7
    Beta冲刺Day6
    Beta冲刺Day5
    Beta冲刺Day4
    Beta冲刺Day3
    Beta冲刺Day2
    Beta冲刺Day1
    Beta预备
  • 原文地址:https://www.cnblogs.com/cl1024cl/p/6204815.html
Copyright © 2011-2022 走看看