常用函数集合插件
1.描述
把一些常用的函数放到常用函数集合插件里面来,方便用户使用
设计器插件安装方法参照设计器插件管理
下面是各个函数的简介:
函数 | 简介 |
---|---|
ScriptEval | 该函数中可以使用javascript脚本,避免嵌套各种IF,SWITCH函数的写法。 |
StringReverse | 把给定的参数字符串做倒转。 |
StringFind | 查找字符串包含的字字符串的索引。 |
StringMatch | 判断字符串是否符合给定的正则表达式。 |
StringFetch | 根据正则表达式提取符合的字符串,最终返回一个数组,如果有第三个参数,则表示返回数组中第三个参数表示的索引位置的值。 |
StringPinyin | 输出给定字符串的拼音。 |
StringShortPinyin | 输出给定字符串的拼音首字母(小写)。 |
StringSwapCase | 交换字符串中字母的大小写。 |
NumberToEnglish | 将数字转换成英文。 |
GetIP | 传递内置的sessionID参数,获取当前访问的用户的IP地址。 |
ProcessErrorValue | 处理函数返回错误值。 |
JSONPathFinder | 从JSON文本中查找符合条件的结果,JSON支持文本、文件路径以及URL。安装该插件后,可以在单元格中写上公式=JSONPathFinder("http://7xs469.com1.z0.glb.clouddn.com/test.json", "$.store.book[*].author")查看结果。 |
MathFrequency | 统计单词出现的次数和频率。 |
MathVariance | 求数组中元素的方差。 |
MathStandardDeviation | 求数组中元素的标准差。 |
MathSumOfSquares | 求数组中元素的平方和。 |
MathGeometricMean | 求数组中元素的几何平均数。 |
MathMean | 求数组中元素的算术平均数。 |
EncryptShaHex | SHA加密。 |
EncryptSha256Hex | SHA256加密。 |
EncryptSha384Hex | SHA384加密。 |
EncryptSha512Hex | SHA512加密。 |
EncryptMd5Hex | MD5加密。 |
EncryptDes | DES加密。第一个参数为要加密的文本,第二个参数为加密的key。key为8位的随机不固定字符串 |
DecryptDes | DES解密。第一个参数为要解密的文本,第二个参数为解密所需要的key。 |
HtmlFinder | Html页面元素查找函数。 |
Image | 将给定的参数转换为图片,支持本地文件、远程文件以及相对路径。 |
StringConditionConcat | 根据条件拼接给定数组中的符合条件的元素,内置参数index表示索引位置,item表示元素值。 |
2.详细介绍
下面逐条开始介绍各个函数的使用方法。
安装插件后,可以在SciptEval函数中使用JavaScript语法。
1.1 参数说明
ScriptEval(参数,参数名1,参数值1,参数名2,参数值2,……):第一个参数需要是一个字符串,字符串中是一个合法的JavaScript表达式,后续的参数分别表示JavaScript的参数名1,参数值1,参数名2,参数值2等等,由于参数名和参数值总是成对出现的,所以总的参数的个数必须是奇数个。设定的参数名可以在JavaScript中使用。
注:对JavaScript表达式的唯一要求是符合JavaScript语法并且有返回值。例如ScriptEval('return Math.max(p1, p2)', "p1", A1, "p2", B1),等价于max(A1, B1)。
1.2 使用ScriptEval函数进行公式中判断
在模板中A4格式是一个扩展格子(向下扩展),值为[1,2,3,4,5],加入我们需要让B4格子的值满足以下条件
当A4的值大于4的时候,返回A4 * 2的值,当A4的值小于4且大于1的时候,返回A4减2的绝对值,其他时候,返回A4的A4的2次方。
如果用传统的函数,写法:
而如果使用ScriptEval函数写法:
可以看到结果完全没有差别,但是使用JavaScript语法有更灵活实现和更丰富的表达方式。
在单元格中写上如上的公式,可以过滤出A4中所有的偶数值并作为一个数组返回。
2. StringReverse函数
输出给定字符串的拼音首字母(小写)。
在做报表的时候,并非所有的数据都是报表能直接识别的字符串或者数组,有时候是以JSON格式传递过来的数据,这个时候,我们就需要使用JSONPathFinder函数来针对不同的查询条件获取到我们想要的数据。
12.2 示例假如有这样的JSON结构的数据,见这里。这是一个描述书店的JSON数据,现在需要从里面查询出所有价格小于10的书的名字,只需要这样写公式即可:
符合条件的书共有两本,所以这个公式将会返回一个数组:[Sayings of the Century,Moby Dick],可以设置该公式所在的格子向下扩展,就会看到两行数据了。
https://github.com/jayway/JsonPath/blob/master/README.md
MathFrequency([1, 3, 2, 4, 2], 3)返回1,表示数组中3出现了一次,
如果给定了第三个参数(任意字符,例如数字:1、2、3...或者字符串:"第三个参数"...),则返回0.2,表示3出现的频率为0.2。
MathVariance(1,1,2,4,5)返回3.3
15. MathStandardDeviation函数
求数组中元素的标准差。
例如:MathStandardDeviation(1,2,3,4,5)返回1.5811388300841898
或者,如图所示:MathStandardDeviation(A1);A1单元格写入数组;返回结果一致。
16. MathSumOfSquares函数
求数组中元素的平方和。
MathSumOfSquares(1,1,2,4,5)返回47
17. MathGeometricMean函数
EncryptShaHex(abc)加密结果da39a3ee5e6b4b0d3255bfef95601890afd80709。
20. EncryptSha256Hex函数
SHA384加密。
EncryptSha384Hex(abc)加密结果:[B@175d5041
SHA512加密。
EncryptSha512Hex(abc)加密结果:
cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e
EncryptMd5Hex(abc)加密结果:
d41d8cd98f00b204e9800998ecf8427e
24. EncryptDes函数
DES加密。第一个参数为要加密的文本,第二个参数为加密的key。
如下图所示:返回LDiFUdf0iew=
注:密钥需为8位的随机不固定字符串。
DES解密。第一个参数为要解密的文本,第二个参数为解密所需要的key。
同上所示:第一个参数为:LDiFUdf0iew= 密钥为:12345678
返回123
HtmlFinder("http://www.baidu.com", "a[href]")可以查找到baidu首页的所有超级链接内容。
返回:新闻,hao123,地图,视频,贴吧,登录,更多产品,关于百度,About Baidu,使用百度前必读,意见反馈
其他语法规则可以参看这里:https://jsoup.org/cookbook/extracting-data/selector-syntax.
将给定的参数转换为图片,支持本地文件、远程文件以及相对路径。
例如:StringConditionConcat(["两个", "b", "黄鹂", "asd", "鸣翠柳"], index % 2 = 1)返回:两个黄鹂鸣翠柳。
3. 移动端
支持移动端。
支持h5。
附件列表
文档内容仅供参考,如果你需要获取更多帮助,付费/准付费客户请咨询帆软技术支持
关于技术问题,您还可以前往帆软社区,点击顶部搜索框旁边的提问按钮
若您还有其他非技术类问题,可以联系帆软传说哥(qq:1745114201)