处理“多单元格数组公式”的XLWings / Excel问题

范围

我明显地使用XLWings,从外部来源检索数据,在Python中进行一些转换,然后将其转换为Excel。

我使用的是UDF(Windows 10,Excel 2016 32位)。

我知道的唯一方法是使用“多单元格数组公式”将2维数据(Pandas数据框)添加到Excel工作表中。

问题

“多单元arrays公式”似乎有多重限制,我还没有find一个解决scheme,如何:

  • 处理返回的数据框的dynamic大小(这是规则,而不是例外,请参阅我对github的评论 )
  • 格式为表(不可能),以应用着色,sorting和过滤
  • 添加到datamodel(不可能)即join
  • (还有什么不工作?)

其他人如何处理?

xlwings v0.10引入了dynamic数组,请参阅发行说明 。

现在你可以做:

import xlwings as xw import numpy as np @xw.func @xw.ret(expand='table') def dynamic_array(r, c): return np.random.randn(int(r), int(c)) 

只需将它写入左上angular的单元格即可使用该公式,而无需将其作为Excel数组公式。