セルのスタイルを取得および設定する

セルの書式設定

セルの書式設定には2つの方法があります。以下に示します。

GetStyle()を使用する

次のコードを使用して、各セルの書式設定時にStyleオブジェクトが初期化されます。多くのセルが書式設定されている場合、Styleオブジェクトは大きいため、大量のメモリが消費されます。これらのStyleオブジェクトはWorkbook.Saveメソッドが呼び出されるまで解放されません。

Python

cell.get_style().font.is_bold = True

SetStyle()を使用する

最初の方法は簡単で直感的ですが、なぜ2つ目の方法を追加したのでしょうか?

メモリ使用量を最適化するために2つ目の方法を追加しました。セル.GetStyleメソッドを使用してStyleオブジェクトを取得し、それを変更してセルに戻す際にセル.SetStyleメソッドを使用します。このStyleオブジェクトは保存されず、それが参照されない場合に.NET GCがそれを収集します。

Cell.SetStyleメソッドを呼び出すと、Styleオブジェクトは各セルに保存されません。代わりに、このStyleオブジェクトを内部のStyleオブジェクトプールと比較して再利用できるかどうかを確認します。既存のものと異なるStyleオブジェクトのみが各Workbookオブジェクトに保存されます。これにより、各Excelファイルには数百個のStyleオブジェクトしかありません。各セルにはStyleオブジェクトプールへのインデックスのみが保存されます。

Python

style = cell.get_style()
style.font.is_bold = True
cell.set_style(style)

高度なトピック