自动安装 Excel 插件

阅读(1994) 标签: 填充excel网格,

该功能为集算器桌面版中的功能。

需使用管理员权限打开SPL IDE,自动安装Excel插件,在Excel中使用spl()函数执行SPL脚本并获得结果集后填充到Excel中。

如使用自动安装Excel插件,以下步骤可跳过。

 

1、环境

要求64WindowsExcel,不能用32位的,否则出现异常。

 

判断WindowsExcel是否为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.jarxll4j-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中加载宏文件

打开Excel,点击菜单【文件】->【选项】->【信任中心】->【信任中心设置】->【受信任位置】,找到里面的Excel启动项配置的路径,如下图所示:

 

打开【集算器桌面版安装目录】/esProcDesk/bin目录,找到esproc_template.xla文件,把它复制到上述目录下 C:\Program Files\Microsoft Office\root\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 IDEExcel才会生效

 

6、日志

可以通过日志文件查看异常信息,日志文件位于%appdata%\esproc\tmp\Excel.log

 

7、在Excel中使用spl()函数

安装配置好之后,Excel中会增加spl()函数,其功能是在Excel单元格中执行SPL脚本并获得计算后的结果集。spl()函数可能返回单值、一维数组或二维数组。

 

其语法有两种:

l  spl(exp, arg1, … )

参数说明

exp

=开头的SPL语法的表达式串。其中用问号代表参数引用,?1对应第一个参数,?2对应第二个参数,依此类推

arg1,…

参数值,参数可以有0个或多个,至多30个。可以填入常数,或引用当前Excel单元格,允许单格和片区。

 

复杂计算需求,执行用SPL写好的脚本文件,格式为

l  spl(splx(…), … )

参数说明

splName()

脚本文件名称,无后缀,统一用.splx,且必须加上()

脚本文件中定义的参数,按顺序和后面赋予的参数匹配

arg1,…

同前面规则

更多关于Excel插件的示例可参考【Excel 插件使说明