【发布时间】:2016-06-29 03:54:32
【问题描述】:
我有一个 python 函数,它需要几个必需的参数和几个默认参数,但是当我尝试 fzumstein 提到它时,它不能按预期工作。我做错了什么?
def Doublesum(a, b=1):
return (a + b)**2
在excel中:
=Doublesum(1)
这不返回任何值,即#Value!。我已经安装了 xlwings 0.7.2 版。
【问题讨论】:
-
您是否使用
@xw.func修饰了函数并将它们导入到Excel 中?其他功能(没有默认参数)是否有效?尝试从主页下载 UDF 示例并先试用。 -
@FelixZumstein 是的,它装饰有“@xlfunc”。是的,没有默认参数的函数可以工作。
-
你用的是什么版本的python?出于好奇,我刚刚尝试了您的示例(使用@xw.func)并且效果很好。试图缩小潜在差异。
-
@Paul 我正在使用 python 2.7.11。我认为这可能是问题所在,如果我将 xlwings 导入为 xw 并使用“@xw.func”,我将无法导入 UDF,因为我得到了这个运行时错误,来自第 197 行 xlpyserver 的键错误。但是,如果我将其更改为 from xlpython import * 并使用“@xlfunc”,它会导入。我不知道为什么,但它与 Anaconda 有关!我该如何解决这个问题?
标签: udf xlwings default-arguments