Получить и установить стиль для ячеек

Форматирование ячеек

Есть два способа форматирования ячейки, проиллюстрированных ниже.

Использование GetStyle()

С использованием следующего фрагмента кода для каждой ячейки инициируется объект Style при ее форматировании. Если форматируется много ячеек, занимается большое количество памяти, потому что объект Style является большим объектом. Эти объекты Style не будут освобождены, пока не будет вызван метод Workbook.Save.

C#

cell.GetStyle().Font.IsBold = true;

Использование SetStyle()

Первый способ прост и прямолинеен, так почему мы добавили второй подход?

Мы добавили второй подход для оптимизации использования памяти. После использования метода Cell.GetStyle для получения объекта Style, измените его и используйте метод Cell.SetStyle для его установки обратно в эту ячейку. Этот объект Style не будет сохранен и .NET GC соберет его, когда на него не будет ссылки.

При вызове метода Cell.SetStyle объект Style не сохраняется для каждой ячейки. Вместо этого мы сравниваем этот объект Style с внутренним пулом объектов Style, чтобы узнать, можно ли его повторно использовать. Только объекты Style, отличающиеся от существующих, сохраняются для каждого объекта Workbook. Это означает, что только несколько сотен объектов Style для каждого файла Excel вместо тысяч. Для каждой ячейки сохраняется только индекс в пул объектов Style.

C#

Style style = cell.GetStyle();

style.Font.IsBold = true;

cell.SetStyle(style);

Продвинутые темы