取得指定excel文件内的sheet数及每一个sheet的列数
来源:互联网 发布:网络隐私权保护 编辑:程序博客网 时间:2024/06/05 16:53
---------------------------------------------------------
-- happyflystone
-- 2010.04
-- 转载注明出处--->http://blog.csdn.net/happyflystone
-- 取得指定excel文件内的sheet数及每一个sheet的列数。
------------------------------------------------------
CREATE PROC sp_operate_excel
@excelfilename NVARCHAR(100),
@strErrorMessage VARCHAR(1000) OUT
AS
BEGIN
SET NOCOUNT ON
DECLARE @hr INT;
DECLARE @objExcel INT;
DECLARE @objWorkBooks INT;
DECLARE @objWorkBook INT;
DECLARE @cmd NVARCHAR(4000);
DECLARE @i INT,@j int;
DECLARE @IndexCount int;
DECLARE @sheetname varchar (255 ) ;
SET @strErrorMessage = '';
DECLARE @tb TABLE(id INT identity,sheetname VARCHAR(100),colnums int);
--创建Excel.Application对象
EXEC @hr = sp_OACreate 'Excel.Application',@objExcel OUTPUT;
IF @hr = 0
BEGIN
--创建Workbooks对象
EXEC @hr = sp_OAGetProperty @objExcel,'Workbooks',@objWorkbooks OUTPUT;
IF @hr = 0
BEGIN
--分解
--打开Excel文件
SET @cmd = 'Open("'+@excelfilename+'")';
EXEC @hr = sp_OAMethod @objWorkbooks,@cmd,@objWorkBook OUTPUT;
IF @hr = 0
BEGIN
SET @i = 1;
EXEC @hr = sp_oagetproperty @objWorkbook , 'Sheets.Count' , @IndexCount OUT
--循环多少个Sheet
WHILE @i <= @IndexCount
BEGIN
SET @cmd = 'Sheets('+ltrim(@i)+').Name';
EXEC @hr = sp_OAGetProperty @objWorkbook,@cmd,@sheetname OUT--@objSheet OUTPUT;
SET @cmd = 'Sheets('+ltrim(@i)+').UsedRange.cells.Count'
EXEC @hr = sp_OAGetProperty @objWorkbook,@cmd,@j OUTPUT;
INSERT @tb SELECT @sheetname,@j
SET @i = @i +1;
END
END
END
ELSE
SET @strErrorMessage = '创建工作薄对象失败!';
END
ELSE
SET @strErrorMessage = '创建Excel对象失败!'
IF @hr = 0
EXEC @hr = sp_OAMethod @objExcel,'Quit';
--消除Excel对象
IF @hr = 0
EXEC @hr = sp_OADestroy @objWorkbooks;
IF @hr = 0
EXEC @hr = sp_OADestroy @objExcel;
select * from @tb
END
GO
DECLARE @RET VARCHAR(100)
EXEC sp_operate_excel 'C:/BOOK1.XLS',@RET OUT
/*
id sheetname colnums
----------- ------------ -----------
1 Sheet1 4
2 Sheet2 2
3 Sheet3 5
*/
DROP PROC sp_operate_excel
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/htl258/archive/2010/04/01/5442575.aspx
- 取得指定excel文件内的sheet数及每一个sheet的列数
- 取得指定excel文件内的sheet数及每一个sheet的列数、行数
- 取得指定excel文件内的sheet数及每一个sheet的列数
- 171. Excel Sheet Column Number | 计算Excel列数
- 使用VBA读取指定Excel文件指定Sheet指定单元格的内容
- Excel宏 取得sheet中最后一行的行号
- C#导出分Sheet的Excel文件
- C#导出分Sheet的Excel文件
- C#导出分Sheet的Excel文件
- Delphi生成多Sheet的Excel文件
- Delphi生成多Sheet的Excel文件
- 控制用户打开excel文件后只能查看和编辑指定的Sheet页
- LeetCode Excel Sheet Column Title(表格列数数字到英文转换)
- 获得EXCEL的SHEET名
- 生成Excel的Sheet目录
- java POI创建Excel文件及Sheet
- excel文件里有多个sheet,把每个sheet全部导出为单独的xls或xlsx
- 合并excel全部的sheet的内容到单一sheet
- 动态SQL语句语法
- 动态sql语句基本语法
- WPF从我炫系统5---基本控件的用法
- JS获取本地IP、MAC地址
- SQL2008 Merge关键字用法与简例
- 取得指定excel文件内的sheet数及每一个sheet的列数
- SQL2005 行列转换(巩固篇)
- sql xml 入门
- DDL触发器捕获建表语句
- 解决QTP在某些windows应用程序中对edit控件的set失败问题
- 寻找安静的心
- 将一个XML文本显示成行
- ASP.NET编程全能词典简介
- 全文检索学习