ShtUtils
- 说明:
- 工作表函数工具库,增强工作表操作。 备注:这里面工作表作为参数都可以传表名或者工作表对象
函数:
z安全已使用区域(工作表) → {Range}
- 说明:
- 这个函数用于获取工作表从A1开始的可使用区域, 并返回结果单元格区域
- 别名:
-
- safeUsedRange
参数列表:
参数名称 | 参数类型 | 备注 |
---|---|---|
工作表 |
Worksheet | 要获取安全已使用区域的工作表 |
返回值:
返回工作表从A1开始的可使用单元格区域
- Type
- Range
例子
var usedRange = ShtUtils.z安全已使用区域("多表"); //从A1开始的可使用区域
//也可以这样写: var usedRange = ShtUtils.z安全已使用区域(Sheets("多表")); //从A1开始的可使用区域
console.log(usedRange.Address());
//输出结果
$A$1:$L$17
safeUsedRange(工作表) → {Range}
- 说明:
- 这个函数用于获取工作表从A1开始的可使用区域, 并返回结果单元格区域
- 别名:
-
- z安全已使用区域
参数列表:
参数名称 | 参数类型 | 备注 |
---|---|---|
工作表 |
Worksheet | 要获取安全已使用区域的工作表 |
返回值:
返回工作表从A1开始的可使用单元格区域
- Type
- Range
例子
var usedRange = ShtUtils.safeUsedRange("多表"); //从A1开始的可使用区域
//也可以这样写: var usedRange = ShtUtils.safeUsedRange(Sheets("多表")); //从A1开始的可使用区域
console.log(usedRange.Address());
//输出结果
$A$1:$L$17
z包含表名(表名, 表集合opt) → {boolean}
- 说明:
- 这个函数用于检查表集合中是否包含指定表名,可以用*通配符, 返回true或false
- 别名:
-
- includesSht
参数列表:
参数名称 | 参数类型 | 属性 | 默认值 | 备注 |
---|---|---|---|---|
表名 |
string | 要检查的表名, 可以用? * 通配符 | ||
表集合 |
Object |
<optional> |
Sheets
|
要检查的表集合对象, 默认为 Sheets |
返回值:
如果表集合中包含指定表名,则返回true;否则返回false
- Type
- boolean
例子
var includesSheet = ShtUtils.z包含表名('多*');
console.log(includesSheet); // 是否包含表名
//输出结果
true
includesSht(表名, 表集合opt) → {boolean}
- 说明:
- 这个函数用于检查表集合中是否包含指定表名,可以用*通配符, 返回true或false
- 别名:
-
- z包含表名
参数列表:
参数名称 | 参数类型 | 属性 | 默认值 | 备注 |
---|---|---|---|---|
表名 |
string | 要检查的表名, 可以用? * 通配符 | ||
表集合 |
Object |
<optional> |
Sheets
|
要检查的表集合对象, 默认为 Sheets |
返回值:
如果表集合中包含指定表名,则返回true;否则返回false
- Type
- boolean
例子
var includesSheet = ShtUtils.includesSht('多*');
console.log(includesSheet); // 是否包含表名
//输出结果
true
z表名筛选(表名, 表集合opt) → {Array}
- 说明:
- 这个函数用于筛选表集合中包含指定表名的表, 可以用? *通配符, 返回包含筛选结果的表名的一维数组
- 别名:
-
- filterShts
参数列表:
参数名称 | 参数类型 | 属性 | 默认值 | 备注 |
---|---|---|---|---|
表名 |
string | 要筛选的表名, 可以用? *通配符 | ||
表集合 |
Sheets |
<optional> |
Sheets
|
要筛选的表集合对象, 默认为 Sheets |
返回值:
返回包含筛选结果的表名一维数组
- Type
- Array
例子
//示例1
var filteredSheets = ShtUtils.z表名筛选('多*');
logjson(filteredSheets,0); // 包含筛选结果的数组
//输出结果
["多表 (3)","多表","多表 (2)","多条件筛选"]
//示例2
logjson(ShtUtils.z表名筛选('?月'),0);
["1月","2月"]
filterShts(表名, 表集合opt) → {Array}
- 说明:
- 这个函数用于筛选表集合中包含指定表名的表, 可以用? *通配符, 返回包含筛选结果的表名的一维数组
- 别名:
-
- z表名筛选
参数列表:
参数名称 | 参数类型 | 属性 | 默认值 | 备注 |
---|---|---|---|---|
表名 |
string | 要筛选的表名, 可以用? *通配符 | ||
表集合 |
Sheets |
<optional> |
Sheets
|
要筛选的表集合对象, 默认为 Sheets |
返回值:
返回包含筛选结果的表名一维数组
- Type
- Array
例子
//示例1
var filteredSheets = ShtUtils.filterShts('多*');
logjson(filteredSheets,0); // 包含筛选结果的数组
//输出结果
["多表 (3)","多表","多表 (2)","多条件筛选"]
//示例2
logjson(ShtUtils.filterShts('?月'),0);
["1月","2月"]
z查找表(sht, shtsopt) → {Sheet}
- 说明:
- 这个函数用于在表集合中查找指定的表, 并返回查找到的表对象
- 别名:
-
- findSht
参数列表:
参数名称 | 参数类型 | 属性 | 默认值 | 备注 |
---|---|---|---|---|
sht |
string | 要查找的表名 | ||
shts |
Object |
<optional> |
Sheets
|
要查找的表集合对象, 默认为 Sheets |
返回值:
返回查找到的表对象
- Type
- Sheet
例子
var findSht = ShtUtils.z查找表('1月'); // 查找到的表对象
console.log(findSht.Name);
//输出结果
1月
findSht(sht, shtsopt) → {Sheet}
- 说明:
- 这个函数用于在表集合中查找指定的表, 并返回查找到的表对象
- 别名:
-
- z查找表
参数列表:
参数名称 | 参数类型 | 属性 | 默认值 | 备注 |
---|---|---|---|---|
sht |
string | 要查找的表名 | ||
shts |
Object |
<optional> |
Sheets
|
要查找的表集合对象, 默认为 Sheets |
返回值:
返回查找到的表对象
- Type
- Sheet
例子
var findSht = ShtUtils.findSht('1月'); // 查找到的表对象
console.log(findSht.Name);
//输出结果
1月
z判断空表(工作表) → {boolean}
- 说明:
- 这个函数用于判断工作表是否为空表, 并返回true或false
- 别名:
-
- isEmptySht
参数列表:
参数名称 | 参数类型 | 备注 |
---|---|---|
工作表 |
Worksheet | 要判断的工作表 |
返回值:
如果工作表为空表,则返回true;否则返回false
- Type
- boolean
例子
var isEmpty = ShtUtils.z判断空表('Sheet1');
//也可以这样写: var isEmpty = ShtUtils.z判断空表(Sheets('Sheet1'));
console.log(isEmpty); // 是否为空表
//输出结果
true
isEmptySht(工作表) → {boolean}
- 说明:
- 这个函数用于判断工作表是否为空表, 并返回true或false
- 别名:
-
- z判断空表
参数列表:
参数名称 | 参数类型 | 备注 |
---|---|---|
工作表 |
Worksheet | 要判断的工作表 |
返回值:
如果工作表为空表,则返回true;否则返回false
- Type
- boolean
例子
var isEmpty = ShtUtils.isEmptySht('Sheet1');
//也可以这样写: var isEmpty = ShtUtils.isEmptySht(Sheets('Sheet1'));
console.log(isEmpty); // 是否为空表
//输出结果
true
z删除表(工作表) → {undefined}
- 说明:
- 这个函数用于删除指定的工作表
- 别名:
-
- deleteSht
参数列表:
参数名称 | 参数类型 | 备注 |
---|---|---|
工作表 |
Worksheet | 要删除的工作表 |
返回值:
无返回值
- Type
- undefined
例子
ShtUtils.z删除表('Sheet1');
//也可以这样写: ShtUtils.z删除表(Sheets('Sheet1'));
deleteSht(sht) → {undefined}
- 说明:
- 这个函数用于删除指定的工作表
- 别名:
-
- z删除表
参数列表:
参数名称 | 参数类型 | 备注 |
---|---|---|
sht |
Worksheet | 要删除的工作表 |
返回值:
无返回值
- Type
- undefined
例子
ShtUtils.deleteSht('Sheet1');
//也可以这样写: ShtUtils.deleteSht(Sheets('Sheet1'));
z按代码名称(表名, 表集合opt) → {Worksheet}
- 说明:
- 这个函数用于按照代码名称查找表集合中的表, 返回结果工作表
- 别名:
-
- byCodeName
参数列表:
参数名称 | 参数类型 | 属性 | 默认值 | 备注 |
---|---|---|---|---|
表名 |
string | 要查找的代码名称 | ||
表集合 |
Object |
<optional> |
Sheets
|
要查找的表集合对象, 默认: Sheets |
返回值:
返回查找到的表对象
- Type
- Worksheet
例子
//示例1 可以使用查看工作表的代码名称: console.log(Sheets("1月").CodeName);
var sheetRange = ShtUtils.z按代码名称("Sheet34");
console.log(sheetRange.Name); // 查找到的表对象
//输出结果
1月
byCodeName(表名, 表集合opt) → {Worksheet}
- 说明:
- 这个函数用于按照代码名称查找表集合中的表, 返回结果工作表
- 别名:
-
- z按代码名称
参数列表:
参数名称 | 参数类型 | 属性 | 默认值 | 备注 |
---|---|---|---|---|
表名 |
string | 要查找的代码名称 | ||
表集合 |
Object |
<optional> |
Sheets
|
要查找的表集合对象, 默认: Sheets |
返回值:
返回查找到的表对象
- Type
- Worksheet
例子
//示例1 可以使用查看工作表的代码名称: console.log(Sheets("1月").CodeName);
var sheetRange = ShtUtils.byCodeName("Sheet34");
console.log(sheetRange.Name); // 查找到的表对象
//输出结果
1月
z隐藏表(表集合) → {undefined}
- 说明:
- 这个函数用于隐藏表集合中的表 不传参数则隐藏当前表外所有表
- 别名:
-
- hideSheets
参数列表:
参数名称 | 参数类型 | 备注 |
---|---|---|
表集合 |
Object | 要隐藏的表集合对象 |
返回值:
无返回值
- Type
- undefined
例子
ShtUtils.z隐藏表([Sheets("1月"),Sheets("2月")]);
hideSheets(shts) → {undefined}
- 说明:
- 这个函数用于隐藏表集合中的表 不传参数则隐藏当前表外所有表
- 别名:
-
- z隐藏表
参数列表:
参数名称 | 参数类型 | 备注 |
---|---|---|
shts |
Object | 要隐藏的表集合对象 |
返回值:
无返回值
- Type
- undefined
例子
ShtUtils.hideSheets([Sheets("1月"),Sheets("2月")]);
z显示表(表集合) → {undefined}
- 说明:
- 这个函数用于显示表集合中的表 不传参数则显示所有表
- 别名:
-
- showSheets
参数列表:
参数名称 | 参数类型 | 备注 |
---|---|---|
表集合 |
Array | 表名数组 |
返回值:
无返回值
- Type
- undefined
例子
ShtUtils.z显示表([Sheets("1月"),Sheets("2月")]);
showSheets(表集合) → {undefined}
- 说明:
- 这个函数用于显示表集合中的表 不传参数则显示所有表
- 别名:
-
- z显示表
参数列表:
参数名称 | 参数类型 | 备注 |
---|---|---|
表集合 |
Array | 表名数组 |
返回值:
无返回值
- Type
- undefined
例子
ShtUtils.showSheets([Sheets("1月"),Sheets("2月")]);
z激活表(工作表) → {undefined}
- 说明:
- 这个函数用于根据工作表名称激活工作表函数
- 别名:
-
- shtActivate
参数列表:
参数名称 | 参数类型 | 备注 |
---|---|---|
工作表 |
Worksheet | 待激活的工作表 |
返回值:
无返回值
- Type
- undefined
例子
ShtUtils.z激活表(Sheets("1月"));
shtActivate(工作表) → {undefined}
- 说明:
- 这个函数用于激活工作表函数
- 别名:
-
- z激活表
参数列表:
参数名称 | 参数类型 | 备注 |
---|---|---|
工作表 |
Worksheet | 待激活的工作表 |
返回值:
无返回值
- Type
- undefined
例子
ShtUtils.shtActivate(Sheets("1月"));
z最后一行(工作表) → {Number}
- 说明:
- 这个函数用于返回指定工作表的最后一行的行号
- 别名:
-
- lastRow
参数列表:
参数名称 | 参数类型 | 备注 |
---|---|---|
工作表 |
Worksheet | 要返回最后行号的工作表 |
返回值:
最后一行的行号
- Type
- Number
例子
var n=ShtUtils.z最后一行(Sheets("1月")); //工作表1月的数据最后一行
console.log(n);
//输出结果
31
lastRow(工作表) → {Number}
- 说明:
- 这个函数用于返回指定工作表的最后一行的行号
- 别名:
-
- z最后一行
参数列表:
参数名称 | 参数类型 | 备注 |
---|---|---|
工作表 |
Worksheet | 要返回最后行号的工作表 |
返回值:
最后一行的行号
- Type
- Number
例子
var n=ShtUtils.lastRow(Sheets("1月")); //工作表1月的数据最后一行
console.log(n);
//输出结果
31
z纠正表名(工作表名) → {String}
- 说明:
- 这个函数用于批量创建, 拆分,另存表时, 将工作表名字中包含的违规字符替换为 _
(违规字符: 超过31个, 字符: :\/?*[或] 第一或最后一个字符用单引号)
- 这个函数用于批量创建, 拆分,另存表时, 将工作表名字中包含的违规字符替换为 _
- 别名:
-
- correctShtName
参数列表:
参数名称 | 参数类型 | 备注 |
---|---|---|
工作表名 |
String | 待检测的工作表名 |
返回值:
正确表名
- Type
- String
例子
ShtUtils.z纠正表名("1[]2")
//输出结果
1__2
correctShtName(工作表名) → {String}
- 说明:
- 这个函数用于批量创建, 拆分,另存表时, 将工作表名字中包含的违规字符替换为 _
(违规字符: 超过31个, 字符: :\/?*[或] 第一或最后一个字符用单引号)
- 这个函数用于批量创建, 拆分,另存表时, 将工作表名字中包含的违规字符替换为 _
- 别名:
-
- z纠正表名
参数列表:
参数名称 | 参数类型 | 备注 |
---|---|---|
工作表名 |
String | 待检测的工作表名 |
返回值:
正确表名
- Type
- String
例子
ShtUtils.correctShtName("1[]2")
//输出结果
1__2
z工作表排序(shts, sortFn) → {undefined}
- 说明:
- 这个函数用于对指定的工作表数组进行排序
- 别名:
-
- sheetsSort
参数列表:
参数名称 | 参数类型 | 备注 |
---|---|---|
shts |
Array | 要排序的工作表数组 |
sortFn |
function | 用于排序工作表函数或者表名数组(自定义序列) |
返回值:
- 不返回任何内容
- Type
- undefined
例子
ShtUtils.z工作表排序(Sheets(["产品11","产品1","产品2","产品5","产品6"]),(a,b)=>val($.mid(a,3))-val($.mid(b,3))); //传Sheets集合
ShtUtils.z工作表排序(Sheets(['Sheet1','Sheet2','Sheet3']));
ShtUtils.z工作表排序(Sheets(['工程','销售','财务']),['销售','财务','工程']); //自定义序列
ShtUtils.z工作表排序(Sheets,(x,y)=>val(x.match(/\d+/))-val(y.match(/\d+/))); //所有表集合
ShtUtils.z工作表排序(Sheets($.filterShts('*产品*')),(x,y)=>val(x.match(/\d+/))-val(y.match(/\d+/))); //筛选表后, 再提取数字按数字排序
sheetsSort(shts, sortFn) → {undefined}
- 说明:
- 这个函数用于对指定的工作表数组进行排序
- 别名:
-
- z工作表排序
参数列表:
参数名称 | 参数类型 | 备注 |
---|---|---|
shts |
Array | 要排序的工作表数组 |
sortFn |
function | 用于排序工作表函数或者表名数组(自定义序列) |
返回值:
- 不返回任何内容
- Type
- undefined
例子
ShtUtils.sheetsSort(Sheets(["产品11","产品1","产品2","产品5","产品6"]),(a,b)=>val($.mid(a,3))-val($.mid(b,3))); //传Sheets集合
ShtUtils.sheetsSort(Sheets(['Sheet1','Sheet2','Sheet3']));
ShtUtils.sheetsSort(Sheets(['工程','销售','财务']),['销售','财务','工程']); //自定义序列
ShtUtils.sheetsSort(Sheets,(x,y)=>val(x.match(/\d+/))-val(y.match(/\d+/))); //所有表集合
ShtUtils.sheetsSort(Sheets($.filterShts('*产品*')),(x,y)=>val(x.match(/\d+/))-val(y.match(/\d+/))); //筛选表后, 再提取数字按数字排序