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

セルの書式設定

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

getStyle() の使用

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

JavaScript

cell.getStyle().getFont().setIsBold(true);

setStyle() の使用

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

メモリ使用量を最適化するために、第二のアプローチを追加しました。Cell.getStyle メソッドを使って Style オブジェクトを取得し、それを変更してから Cell.setStyle メソッドを使って再設定します。この Style オブジェクトは保持されず、JavaScript のガベージコレクターによって参照されなくなると収集されます。

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

JavaScript

let style = cell.getStyle();

style.getFont().setIsBold(true);

cell.setStyle(style);

高度なトピック