该功能为集算器桌面版中的功能。支持Windows。
需使用管理员权限打开SPL IDE,自动安装Excel插件,在Excel中使用spl()函数执行SPL脚本并获得结果集后填充到Excel中。
如使用自动安装Excel插件,以下步骤可跳过。
1、环境
要求64位的Windows和Excel,不能用32位的,否则出现异常。
判断Windows和Excel是否为64位的办法:
Windows: 点击操作系统的【设置】-【系统】-【关于】
Excel:打开Excel,点击【文件】-【账户】-【关于Excel】,弹出对话框里会显示当前Excel版本,如下所示:
About Microsoft® Excel® 2019 Microsoft® Excel® 2019MSO (Version 2202 Build 16.0.14931.20116) 64Bit Product ID: 00405-32554-86889-AAOEM Session ID: 5DCA85DD-F5BE-4570-8CE4-4D56EF93273D |
语言:请安装与操作系统语言相同的集算器桌面版,即如果操作系统是英文的,则装英文版的集算器桌面版,如果操作系统是中文的,则装中文版的集算器桌面版,否则容易出现乱码等问题。
如果中文windows操作系统安装中文集算器桌面版后,会出现乱码等现象,请检查操作系统如下配置:
【设置】->【时间和语言】->【语言】->【管理语言设置】->【更改系统区域设置】
看看这里是否配置的中文,如果不是,改成中文即可
2、依赖文件
ExcelSpl.xll:插件文件,位于【集算器桌面版安装目录】/esProcDesk/bin
scu-Excel-xll-2.10.jar、xll4j-0.0.2.jar:依赖jar,位于【集算器桌面版安装目录】/esProcDesk/lib
ExcelSpl.ini:配置文件,位于【集算器桌面版安装目录】/esProcDesk/config
esproc_template.xla:宏文件位于【集算器桌面版安装目录】/esProcDesk/bin目录下
3、加载ExcelSpl.xll插件
打开Excel,点击菜单【文件】->【选项】->【加载项】,找到管理Excel加载项,点击【转到】弹出加载项列表选择窗口,点击【浏览】,选择【集算器桌面版安装目录】/esProcDesk/bin下的插件ExcelSpl.xll,确定新增的加载项为勾选状态后,重启Excel生效。成功加载后再查看加载项如下图:
加载成功后,Excel中将增加spl()函数。
当前步骤容易遇到的问题:
情况1:
选择完插件文件ExcelSpl.xll点确定后,出现鼠标一直转,始终不进入下一步,此时可以强制中断Excel并重启Excel。
重启Excel后会提示:某某加载项加载不成功,是否需要禁用?
点击禁用,然后重新按上述操作重新加载ExcelSpl.xll插件即可成功。
情况2:
选择完插件文件ExcelSpl.xll点确定后,出现鼠标一直转,始终不进入下一步,此时可以强制中断Excel并重启Excel。
重启Excel后没有任何提示,此时打开加载项配置页面,会发现插件可能已经加载成功(出现前述加载成功画面)。
情况3:
选择完插件文件ExcelSpl.xll点确定后,出现鼠标一直转,始终不进入下一步,此时可以强制中断Excel并重启Excel。
重启Excel后没有任何提示,此时打开加载项配置页面,会发现插件并没有加载成功,重复操作加载,依旧出现卡死现象,始终无法加载成功
此时解决办法是先关闭Excel,然后再打开windows的注册表,添加如下注册表项:
补充说明:
1、 这里OPEN项的值为字符串/R再加上由双引号括起来的字符串,串的内容是加载项ExcelSpl.xll的全路径文件名
2、 注册表OPEN项的位置,取决于Excel安装版本,不同版本,这个路径可能不一样,比如Excel2019是
【计算机\HKEY_CURRENT_USER\SOFTWARE\Microsoft\Office\16.0\Excel\Options】
低一些的版本可能是
【计算机\HKEY_CURRENT_USER\SOFTWARE\Microsoft\Office\15.0\Excel\Options】
具体位置和版本相关,根据实际情况灵活应对
添加完后,打开Excel,此时可以发现加载项配置页面里已经有插件了,表示加载成功。
4、在Excel中加载宏文件
打开【集算器桌面版安装目录】/esProcDesk/bin目录,找到esproc_template.xla文件,把它复制到【Excel安装目录\XLSTART】目录下,例如:C:\Program Files\Microsoft Office\Office16\XLSTART,只有放在此目录下的宏文件,Excel才会在启动时自动加载,放别的目录无法加载成功。
打开Excel,点击菜单【文件】->【选项】->【信任中心】->【信任中心设置】->【宏设置】中勾选【启用所有宏】,然后重启Excel。
补充说明:
1、 不同版本的Excel该目录可能不同,所以一定要打开Excel找到这个目录,再把esproc_template.xla复制过去
2、 esproc_template.xla中定义了一个宏及其热键(ctrl-enter),用于处理多返回值,有冲突时可以修改热键。
3、 spl()函数返回单值时,不需要用到这个宏,也不必加载此宏文件。
5、配置SPL IDE主目录
SPL IDE中要配置【主目录】,被调用的脚本文件(.splx)必须位于主目录下,否则找不到,配置方法如下:
打开SPL IDE,点击菜单【工具】->【选项】->选择【环境】->找到【主目录】
配置完主目录后,需要重启SPL IDE和Excel才会生效
6、日志
可以通过日志文件查看异常信息,日志文件位于%appdata%\esproc\tmp\Excel.log
安装配置好之后,Excel中会增加spl()函数,其功能是在Excel单元格中执行SPL脚本并获得计算后的结果集。spl()函数可能返回单值、一维数组或二维数组。
其语法有两种:
l spl(exp, arg1, … )
参数说明:
exp |
以=开头的SPL语法的表达式串。其中用问号代表参数引用,?1对应第一个参数,?2对应第二个参数,依此类推。 |
arg1,… |
参数值,参数可以有0个或多个,至多30个。可以填入常数,或引用当前Excel单元格,允许单格和片区。 |
复杂计算需求,执行用SPL写好的脚本文件,格式为
l spl(splxName(…),arg1,…)
参数说明:
splxName() |
脚本文件名称,无后缀,统一用.splx,且必须加上(); 脚本文件中定义的参数,按顺序和后面赋予的参数匹配。 |
arg1,… |
同前面规则。 |
更多关于Excel插件的示例可参考【Excel 插件使用说明】