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