ex_取工作表名称
函数名:ex_取工作表名称 / ex_GetSheetNames
功能描述
获取当前工作簿所有工作表的名称列表(支持过滤条件)。可通过关键词进行模糊或精确匹配,并支持区分大小写。
会员等级:🟢 免费版(Free)
语法
excel
=ex_取工作表名称([过滤关键词], [模糊匹配], [区分大小写])参数
| 参数名 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
| 过滤关键词 | String | 否 | "" | 用于过滤工作表名称的关键词,为空则返回所有 |
| 模糊匹配 | Integer | 否 | 1 | 1 支持模糊筛选,0 精确匹配(默认 1) |
| 区分大小写 | Integer | 否 | 0 | 1 区分大小写,0 不区分(默认 0) |
返回值
Object[,] - 单列二维数组,每行包含一个符合条件的工作表名称。
使用示例
获取所有工作表名称
公式:
excel
=ex_取工作表名称()结果(当前工作簿含 Sheet1、数据、报表 三个工作表):
Sheet1
数据
报表模糊匹配筛选
公式:
excel
=ex_取工作表名称("数据", 1, 0)结果:
数据精确匹配筛选
公式:
excel
=ex_取工作表名称("Sheet1", 0, 0)结果:
Sheet1区分大小写的模糊匹配
公式:
excel
=ex_取工作表名称("DATA", 1, 1)结果(仅返回名称中包含大写 "DATA" 的工作表,不匹配 "data"):
(匹配到的工作表名称)技术说明
- 通过
ExcelDnaUtil.Application获取当前 Excel 应用程序实例,读取ActiveWorkbook的Worksheets集合。 - 过滤关键词为空或空白时返回所有工作表名称。
- 模糊匹配使用
IndexOf包含判断;精确匹配使用Equals完全相等判断。 - 大小写通过
StringComparison.Ordinal(区分)或StringComparison.OrdinalIgnoreCase(不区分)控制。 - 结果输出为单列二维数组,按工作表在工作簿中的物理顺序排列。
错误处理
| 错误场景 | 返回值 |
|---|---|
| Excel 应用程序不可用 | 空数组 |
| 未打开任何工作簿 | 空数组 |
| 无匹配工作表 | 空数组 |
| 运行时异常 | 空数组 |