2016-07-26 115 views
1

範圍

我使用XLWings爲明顯,以獲取外部數據源的數據,做了一下在Python改造,然後將其泵到Excel 。XLWings/Excel中的問題處理「多單元格數組公式」

我正在使用UDF來做到這一點(Windows 10,Excel 2016 32位)。

我意識到的唯一方法是使用「多單元陣列公式」將2維數據(Pandas數據框)添加到Excel工作表中。

問題

「多單元格數組公式」似乎有多種限制,我還沒有找到一個解決方案,如何:返回的數據幀的

  • 處理動態的大小(這是規則而不是例外,看到我comment on github太)
  • 格式表(不可能)應用着色,排序和過濾
  • 添加到數據模型(不可能)爲即加入
  • (還有什麼不工作?)

問題

如何等處理呢?

回答

1

xlwings v0.10引入了動態數組,請參見release notes。現在

你可以這樣做:

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)) 

,你可以通過簡單地寫入左上角單元格使用公式,而不需要讓一個Excel數組公式。