我正在尝试使用字符串和变量的组合在openpyxl
中指定单元格范围。我知道细胞范围通常可以这样指定; sheet["A1":"U10"]
。
但是,我想像这样指定; sheet["A1":cell]
。 cell = "U10"
。
然后我想使用这个单元格区域来应用字体样式:
fontStyle = Font(name="Calibri", size=12, color=colors.BLACK)
cell = "U" + str(daysAmount)
sheet["A1":cell].font = fontStyle
每次执行程序时, daysAmount
总是不同的。在此方案中,daysAmount = 10
尝试此操作后,我返回AttributeError
,因为Python认为sheet["A1":cell]
是一个元组:
Traceback (most recent call last):
File "businessforecast.py", line 198, in <module>
textFormatting()
File "businessforecast.py", line 178, in textFormatting
sheet["A1":cell].font = fontStyle
AttributeError: 'tuple' object has no attribute 'font'
如何使用openpyxl
?
答案 0 :(得分:1)
根据openpyxl的文档,您必须使用字符串引用单元格,如下所示:
sheet ["A1:{}".format(cell)]
答案 1 :(得分:1)
A&#34;范围&#34;细胞故意作为元组或发生器返回。使用use strict
或ws.iter_rows()
以编程方式创建一个,但它始终只是一组单元格。如果您想对所有这些单元格执行某些操作,则需要对该范围包含的每个行或列中的每个单元格执行此操作。
答案 2 :(得分:0)
没有实施。 你不能设置范围。 请参阅openpyxl Issue 414 https://bitbucket.org/openpyxl/openpyxl/issues/414/unable-to-style-range-of-cells