Office 加载项服务的安装配置说明

使用集算器桌面版的Office加载项服务,可在Excel中使用SPL.X()函数执行SPL脚本并获得结果集后填充到Excel中。

如果是 Windows 系统,请从官网下载最新的集算器桌面版和 Office 加载项补丁包。先安装桌面版,再安装 Office 加载项。

如果是 Mac 系统,桌面版安装包自带 Office 加载项功能。

Office加载项for Windows说明

要求Windows系统和Excel均为64位。

依赖文件

nodejsNode.js的目录,位于【集算器桌面版安装目录】/esProcDesk

exceladdinSPLforExcel加载项的目录,位于【集算器桌面版安装目录】/esProcDesk

使用方法

1. 启动集算器桌面版,点击菜单【工具】->【启动Office加载项服务】。

Office加载项服务还可以在启动SPL IDE时自动启动,只需要在选项中勾选【自动启动Office加载项服务】并重启IDE即可

2. 打开Excel(本例演示使用的 Excel2021 版本号是 2408),在菜单【开始】->【加载项】中加载开发人员加载项SPL for Excel

结果如图:

3. 在单元格中使用函数=SPL.X()

4. 如需使用Excel复制/粘贴功能,可以在SPL IDE选项中修改Excel加载项类型->Office加载项。

常见问题

1. Excel的【开始】菜单的工具栏没有加载项。

打开Excel,首先在【文件】-> 【选项】->【自定义功能区】->【主选项卡】的【开始】中,找到【加载项】并勾选。

如果找不到【加载项】,点击【文件】->【账户】->【更新选项】->【立即更新】,更新或升级Excel

2. Office加载项程序有修改时,更新依赖文件后修改没生效

清理缓存,删除目录C:\Users\$\color{red}{[用户名]}$\AppData\Local\Microsoft\Office\16.0\Wef下的所有文件

Office加载项for Mac说明

要求Mac系统和Excel均为64位。

依赖文件

nodejsNode.js的目录,位于/Applications/esProcDesk.app/Contents/raqsoft/esProcDesk

exceladdinSPLforExcel加载项的目录,位于/Applications/esProcDesk.app/Contents/raqsoft/esProcDesk

startdevserver.shstopdevserver.sh:启动和结束dev-server,用于支持SPLforExcel加载项。位于/Applications/esProcDesk.app/Contents/raqsoft/esProcDesk/bin

创建硬链接

exceladdin根目录的清单文件manifest.xml链接到Excelwef目录下。

在终端执行ln命令:

sudo ln '/Applications/esProcDesk.app/Contents/raqsoft/esProcDesk/exceladdin/manifest.xml' '/Users/$\color{red}{[用户名]}$/Library/Containers/com.microsoft.Excel/Data/Documents/wef/a5f6b5ea-9bf1-4a7c-97ac-1759754457c3.manifest.xml'

注意:

  • $\color{red}{用户名}$要修改成自己的。

  • wef目录有可能不存在,需要手动创建。

  • 修改exceladdin/manifest.xml文件时会同步修改wef下的对应文件。如果删除或替换了exceladdin/manifest.xml文件,wef下文件不再同步。

使用方法

1. 启动集算器桌面版,点击菜单【工具】->【启动Office加载项服务】。

Office加载项服务还可以在启动SPL IDE时自动启动,只需要在选项中勾选【自动启动Office加载项服务】并重启IDE即可

2. 打开Excel(本例演示使用的 Excel for Mac 版本号是 16.89),在菜单【开始】->【加载项】中加载开发人员加载项SPL for Excel

结果如图:

3. 在单元格中使用函数=SPL.X()

常见问题

1. Excel的【开始】菜单的工具栏没有加载项。

首先在【Excel->【偏好设置】-> >功能区和工具栏】->【主选项卡】的【开始】中,找到【加载项】并勾选。

如果找不到【加载项】,则更新或升级Excel

2. Office加载项程序有修改时,更新依赖文件后修改没生效。

清理缓存,删除下面两个目录中的文件:

/Users/$\color{red}{[用户名]}$/Library/Containers/com.microsoft.Excel/Data/Library/Caches

/Users/$\color{red}{[用户名]}$/Library/Containers/com.microsoft.Excel/Data/Library/Application Support/Microsoft/Office/

SPL.X()语法

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

SPL.X()有两种语法:

  • SPL.X(exp, arg1, …)

参数说明:

exp

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

arg1,…

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

示例:

如下Excel文件,第一列是随机数的范围,第二列是根据第一列给定的范围,生成一个相应范围内的整数随机数:

计算结果:

B2单元格拖动复制到每一个格子,结果如下:

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

  • SPL.X(splxName(…), arg1,…)

参数说明:

splxName()

脚本文件名称,无后缀,统一用.splx,且必须加上()。脚本文件中定义的参数,按顺序和后面赋予的参数匹配。

支持相对路径或绝对路径,相对路径相对于SPL IDE主目录

arg1,…

同前面规则

示例:

可以在SPL.X()函数里直接调用SPL脚本文件。我们把SPL脚本文件存为【SPL IDE主目录】\Sales.splx

参数:

然后在ExcelA1单元格中写入如下表达式:

当参数有多个时,脚本有几个参数,括号里就写几个问号,和传入参数的对应关系规则与直接写代码是一样的,都是?1对应第一个参数,?2对应第二个参数,依此类推。

结果如下:

Office/Excel加载项的异同

1、 Office加载项和Excel加载项适用平台不同。

Excel加载项支持WindowsOffice加载项支持WindowsMac

2、 Office加载项函数SPL.X()Excel加载项函数spl(),函数名不同,函数功能和语法相同,更多使用方法可参考Excel加载项的示例【Excel 插件使用说明】。

返回值为一维数组时,二者的扩展方式在设置上有所不同:

Excel加载项扩展方式默认为纵向,可以在Excel中点击菜单【加载项】-SPL-Show Setting…】勾选【Horizontal display】,改变扩展方式为横向扩展。

Office加载项扩展方式默认为纵向,可以在Excel中点击菜单【开始】-【加载项】-SPL for Excel】勾选【单层序列时横向扩展】,改变扩展方式为横向扩展。