辅助 Excel 的数据计算 add-ins

本文对比了Excel的几种常见数据计算add-ins,包括Excel DNA、JINX、VBA、Excel JavaScript、Pyxll和esProc。虽然Excel DNA和Excel JavaScript执行效率高,但Python的Pyxll和R的Bert、RExcel在数据计算方面更为专业。esProc以其强大的计算能力和便捷的SPL语言脱颖而出,可通过剪贴板操作实现顺滑体验,尤其适合桌面数据分析师。
摘要由CSDN通过智能技术生成

Excel 中遇到较复杂的运算,数据分析师常会用 add-ins 辅助解决。本文考察了一些常见的 add-ins,从部署难度、开发难度、流畅程度等方面进行深度对比,并着重考察了数据计算能力,esProc 在这些 add-ins 中的表现相对出色。点击辅助 Excel 的数据计算 add-ins了解详情。

 

对于大多数简单运算,Excel都提供了方便的实现手段,有时是易用的函数,有时是直观的按钮或菜单。但我们还是会遇到的一些较复杂或特殊的运算,依靠Excel本身很难实现。Excel提供了add-in接口,可以通过这个接口执行外部程序,从而借助外部语言或脚本实现这些较复杂或特殊的运算,达到辅助Excel的目的。

下面,让我们深入了解一些Excel的常见数据计算add-ins,并评估它们的计算能力。

Excel DNA

Excel DNA是早期出现的一款Excel add-in,它可以把程序员写好的动态库函数放到Excel里使用,动态库可以使用C#/F#/VB.net等语言等编写。

具体用法上,Excel DNA和其他所有add-ins都类似,首先要编写自定义函数。比如下面C#编写的代码中(引自Excel DNA官网),MyFunction是自定义函数名。

using System;

using   System.Collections.Generic;

using System.Linq;

using System.Text;

using   System.Threading.Tasks;

using   ExcelDna.Integration;

 

namespace MyLibrary

{

        public class Class1

        {

                [ExcelFunction(Description="few   people use this way!")]

                public static string   MyFunction(string name)

                {

                        return "Bonjour" + name;

                }

        }

}

上面的代码须编译成动态库,之后才能在Excel中使用。

接下来,一般要配置自定义函数和add-in的关系。比如下面的DnaSample.dna文件,表明本add-in的名字是"My name",对应的动态库是Mylibrary.dll(含有多个自定义函数)。

<DnaLibrary Name="My   name" RuntimeVersion="v4.0">

    <ExternalLibrary   Path="Mylibrary.dll" />

</DnaLibary>

最后在Excel中配置该add-in,就可以在单元格中调用MyFunction这个函数了,如下:

  A       A
1 =MyFunction("jason") press enter --> 1 Bonjour jason
2       2  

应该注意到,上述过程有个编译的动作,因为编译过的程序可直接执行,且与Excel集成紧密,因此执行效率非常高。这便带来了Excel DNA最大的优点:顺滑无卡顿。

Excel DNA的其他优点从名字就可以看出来,换句话说,该add-in可以充分利用微软DNA架构提供的便利,比如开发语言、开发工具、Excel集成、联动调试等。

还应该注意到,C#/F#/VB.net等语言的通用性很强,理论上是无所不能的,但官网的代码例子却只是字符串输出,体现不出哪怕丝毫的能力,这到底是为什么呢?

因为理论和实际是有差别的。

C#/F#/VB.net等语言缺乏结构化计算类库,即使最基本的运算都要硬编码实现,代码因此非常繁琐,并不适合做复杂的数据计算。

除了不适合数据计算,还应注意到C#/F#/VB.net是编译型语言,而不是解释型语言,这就要求用户必须维护一套编译环境,以备修改算法后编译所用,而微软的编译环境配置较复杂,桌面数据分析师不易掌握。事实上,C#/F#/VB.net等语言本身的技术门槛就很高,这就导致Excel DNA更适合专业程序员作为接口使用,并不适合大多数桌面数据分析师直接使用。

除了Excel DNA,还有其他一些add-ins同样缺乏结构化计算类库,比如基于JAVA语言的JINX。很容易就能判断出,JINX也不适合数据计算。事实上,Excel 自带的VBA在语言能力上和Excel DNA/JINX相当(都不适合数据计算),但VBA免集成免编译,比Excel DNA/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值