如何解决如何使用 xlwings 在 Excel Python 中获取单元格的列号和行号?
我正在尝试获取从中调用函数的单元格或在 Excel 中的函数代码中传递的单元格的列号和行号。
如果我在 excel 中调用用户定义的函数 (UDF),例如 =some_udf(A2:D2)
和后端,即该函数的定义是使用 xlwings 用 python 编写的,我想获取单元格行调用此函数的编号和列编号,或者使用作为参数传递的范围获取该编号和列编号。我无法弄清楚如何做到这一点。
请帮忙! 或者,如果可以使用一些其他工具,如 openpyxl 等,请务必告知。
解决方法
当您使用 xlwings 调用用户定义的函数时,您可以在函数定义中包含特殊参数 caller
,这将是您从中调用函数的范围对象:
@xw.func
def some_udf(your_arg,caller):
# caller will not be exposed in Excel,so use it like so:
# =some_udf(your_arg)
# Now you can access infos about the caller,e.g.:
caller.address
caller.row
caller.column
另见:https://docs.xlwings.org/en/stable/udfs.html#the-caller-argument
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。