2013-12-19 53 views
4

多個值在VBA我可以分配數組細胞的範圍內,使得在範圍內的每個細胞從陣列得到相應的值:分配在範圍

Range("A1:D1").Value = Array(1, 2, 3, 4) 

我試圖做同樣的openpyxl:

import openpyxl 

wb = openpyxl.Workbook() 
ws = wb.worksheets[0] 
ws.range['A1:D1'].value = [1, 2, 3, 4] 

但沒有成功。

有沒有辦法做到與openpyxl範圍分配沒有迭代每個細胞?

回答

2

不,這是不可能的,在openpyxl的範圍僅僅是一個單元格區域,但循環是很容易(openpyxl 1.8語法)

for v,c in zip([1, 2, 3, 4], ws['A1':'D1']): 
    c.value = v 
+0

這仍然是(使用2.3-2.4)建議的語法? –

+0

是:1.8引入了使用切片來獲取一系列單元格的功能。 'range'方法已被棄用。 –