在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