2017-02-05 15 views
0

文字列と変数の組み合わせを使用してopenpyxlにセル範囲を指定しようとしています。私は、セル範囲は一般的にそのように指定できることを理解しています。 sheet["A1":"U10"]openpyxlに変数を含むセル範囲を指定する方法は?

ただし、このように指定したいと思います。 sheet["A1":cell]。ここで、cell = "U10"

私は、フォントスタイルを適用するには、このセル範囲を使用したい:

fontStyle = Font(name="Calibri", size=12, color=colors.BLACK) 
cell = "U" + str(daysAmount) 
sheet["A1":cell].font = fontStyle 

daysAmountは常に、プログラムの実行ごとに異なる場合があります。

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内の変数を使用してセル範囲を指定することができます。Pythonはsheet["A1":cell]がタプルであると考え、このシナリオでは、これをしようとしたらdaysAmount = 10

は、私は、AttributeErrorで返さでしょうか?

+0

あなたの質問を編集して、例外を発生させるだけでなく、完全なトレースバックを含めてください。 – martineau

答えて

1

セルの「範囲」は、意図的にタプルまたはジェネレータとして返されます。プログラムで作成するにはws.iter_rows()またはws.iter_cols()を使用しますが、それは常に単なるセルの集合のままです。これらのセルすべてで何かをしたい場合は、その範囲に含まれるすべての行または列のすべてのセルに対して実行する必要があります。

0

openpyxlのマニュアルによると、あなたはこのように、文字列でセルを参照する必要があります。それは実装されていない

sheet ["A1:{}".format(cell)] 
+0

これは私に同じ 'AttributeError'を与えるようですが、それはまだそれがタプルだと思っています。 –

関連する問題