C++を使ったセルのスタイル取得と設定
Contents
[
Hide
]
Aspose.Cells for C++は、セルの書式設定に新たな2つの方法:
Cell.GetStyle
とCell.SetStyle
を導入しました。この方法の概要と、それがあなたに適しているかどうかを判断するための記事です。
セルの書式設定
セルの書式設定には2つの方法があります。以下に示します。
GetStyle()を使用する
このコードでは、書式設定時に各セルにStyle
オブジェクトを作成します。多くのセルを書式設定する場合、Style
オブジェクトは大きなオブジェクトであるため大量のメモリを消費します。これらのStyle
オブジェクトはWorkbook.Save
メソッドが呼び出されるまで解放されません。
C++
cell.GetStyle()->GetFont()->SetIsBold(true);
SetStyle()を使用する
最初のアプローチは簡単でわかりやすいため、第2のアプローチを追加しました。
2番目のアプローチを追加したのは、メモリ使用量を最適化するためです。Cell.GetStyle
メソッドを使ってStyle
オブジェクトを取得し、それを修正してCell.SetStyle
メソッドでセルに設定します。このStyle
オブジェクトは保持されず、参照されなくなったときにC++のランタイムによって収集されます。
Cell.SetStyle
メソッドを呼び出すとき、Style
オブジェクトは各セルに保存されません。その代わりに、内部のStyle
オブジェクトプールと比較して再利用できるかどうかを判断します。既存のものと異なるStyle
オブジェクトのみが各Workbook
に保存されます。つまり、Excelファイルごとに数百のStyle
オブジェクトしかなく、数千ではありません。各セルはStyle
オブジェクトプールのインデックスのみが保持されます。
C++
auto style = cell.GetStyle();
style->GetFont()->SetIsBold(true);
cell.SetStyle(style);