在范围内分配多个值

在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没有迭代每个单元格?

不,这是不可能的,在openpyxl中的范围只是一个单元格的范围,但循环很容易(openpyxl 1.8语法)

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