从 Excel 调用 Python 函数



我写了一个python代码,它接受3个输入,并返回一个输出val。 我尝试编写一个 excel 函数,它将三个输入传递给 python 函数并返回输出。

我已经研究了XLwings,但是有很多问题(而且文档非常差/写得很差(,因此它似乎毫无用处。

那么:有没有其他方法可以从 excel 调用 python 函数(接受输入(?

[已解决(已解决(:] 经过大约 8 个小时的尝试,我设法获得了 4 个 youtube 视频和 xlwings 主页,使其正常工作。

安装视频:https://training.zoomeranalytics.com/courses/xlwings/lectures/4231276

用于制作接受输入并返回输出的函数的视频:https://www.youtube.com/watch?v=qn8xGrDuRCg&t=16s

你可以试试xlOil(免责声明:是我写的(。 文档在这里,但要编写一个简单的三输入函数,您可以使用以下命令安装 xlOil:

pip install xloil
xloil install

然后写:

import xloil
@xloil.func
def myfunc(x, y, z):
return x + y * z

输入此代码之一:

  1. 在与电子表格位于同一目录中的 py 文件中,名为SpreadsheetName.py
  2. 在 python 模块路径上的 py 文件中,然后按照文档中的说明编辑%APPDATA%xlOilxlOil.ini加载它。

启动Excel,打开电子表格,该功能将作为myfunc提供。

你也可以试试xlSlim(免责声明是我写的(。文档在这里。

安装就像从这里下载和运行 Windows 安装程序一样简单 该过程在文档中进行了描述,并且有一个YouTube视频 https://youtu.be/Zl5QM8rGBC8 它很简单,只需下载并运行安装程序即可。安装程序已进行数字签名并进行了病毒扫描。

然后,要创建与 Steve 相同的函数,您需要在 Python 模块中编写您的函数:

def myfunc(x,y,z):
return x + y + z

(请注意,与xlSlim一起使用的函数没有进行任何更改 - 这是xlSlim的定义功能,不需要装饰器或其他Python包。

然后在 Excel 中使用 RegisterPyModule(( 函数注册模块(假设您将模块保存为 mymod.py(

=RegisterPyModule("C:UsersrusseDocumentsmymod.py")

该函数现在可在 Excel 中用作myfunc。还会处理任何类型提示和文档字符串。

最新更新