什么是从Excel中使用python函数的最佳方式?

有人真的需要解决这个“主观问题评估”

我通常编译我的函数在DLL中,并从Excel中调用它们。 这工作正常(好吧,让我们只是说它的工作)

不幸的是,python无法编译。 我知道py2exe,但我不知道它可以使一个DLL。

所以,…还有其他的方法吗? 我很欣赏关于此事的所有想法和build议。

有一个Excel插件,允许您在xefion.com上执行这个称为发现脚本 。

它是免费的,但不是开源的。 它也基于IronPython实现。

一种方法是用Python编写COM服务器,并从Excel中调用。 有描述Win32 COM服务器的教程,以及从Excel调用这些服务器的屏幕录像 。

这可能不是一个可能的解决scheme,但有Resolver One电子表格应用程序(就像Excel与Python结合)。 它不以任何方式与Excel连接,但声称在某种程度上兼容。

我惊讶没有人提到pyxll 。 从网站:

PyXLL是一个Excel插件,使用Python编写的函数可以在Excel中调用。 Python函数可以作为Excel用户定义的函数公开,可以从工作表,自定义菜单项或macros中调用。

我不知道任何类似于py2exe的py2dll。

但是,你可以在C中创build一个dll,并使用非常高层来调用你的脚本。 我不知道这是一个可以接受的解决scheme。 只是一个想法。

几年前我不得不这样做。 我的解决scheme是运行使用SOAP导出函数的小型Python服务器,然后使用Visual Basic的SOAP库调用函数。 好处是您不必使用电子表格发布Python环境。 缺点是客户需要networking连接。