在范围内分配多个值

时间:2013-12-19 17:40:47

标签: python excel openpyxl

在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进行范围分配而不迭代每个单元格?

1 个答案:

答案 0 :(得分:2)

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

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