如何在Excel中提高xlwings自定义项的速度?

2021-02-28 18:25:18 发布

您现在位置:Python中文网/ 问答频道 /正文

在python3中,我在Excel中通过xlwings使用UDFs来计算公式。公式计算超过4000次,刷新工作表大约需要25秒。以下面的公式为例。在Excel中,在每个Excel单元格中使用引用单元格=test_1(B20,C20,D20)的公式调用公式。VBA优化连接设置设置为true,OPTIMIZED_CONNECTION = True。在

@xw.func  
def test_1(x, y, z):  
    a = x**2 + y**2 + z**2  
return a

在VBA或Excel中计算相同的公式几乎是即时的。所以我的问题是为什么这么慢,有没有办法提高速度?在

*新信息

使用数组公式比多次调用UDF要快得多。下面的公式执行与原始公式相同的操作,但以一个范围作为输入并返回一个范围。在

^{pr2}$

当有可能使用它时,这是一个很好的解决方法。然而,在做不到的情况下,问题仍然存在。在