セルのスタイルを取得および設定する
Contents
[
Hide
]
Aspose.Cells for .NET 4.4.2では、セルの書式設定に2つの新しいメソッド、Cell.GetStyleおよびCell.SetStyleが導入されました。この記事では、Cell.GetStyle/SetStyleのアプローチについて調査し、お好みのテクニックを判断できるようにします。
セルの書式設定
セルの書式設定には2つの方法があります。以下に示します。
GetStyle()を使用する
次のコードを使用して、各セルの書式設定時にStyleオブジェクトが初期化されます。多くのセルが書式設定されている場合、Styleオブジェクトは大きいため、大量のメモリが消費されます。これらのStyleオブジェクトはWorkbook.Saveメソッドが呼び出されるまで解放されません。
C#
cell.GetStyle().Font.IsBold = true;
SetStyle()を使用する
最初の方法は簡単で直感的ですが、なぜ2つ目の方法を追加したのでしょうか?
メモリ使用量を最適化するために2つ目の方法を追加しました。セル.GetStyleメソッドを使用してStyleオブジェクトを取得し、それを変更してセルに戻す際にセル.SetStyleメソッドを使用します。このStyleオブジェクトは保存されず、それが参照されない場合に.NET GCがそれを収集します。
Cell.SetStyleメソッドを呼び出すと、Styleオブジェクトは各セルに保存されません。代わりに、このStyleオブジェクトを内部のStyleオブジェクトプールと比較して再利用できるかどうかを確認します。既存のものと異なるStyleオブジェクトのみが各Workbookオブジェクトに保存されます。これにより、各Excelファイルには数百個のStyleオブジェクトしかありません。各セルにはStyleオブジェクトプールへのインデックスのみが保存されます。
C#
Style style = cell.GetStyle();
style.Font.IsBold = true;
cell.SetStyle(style);