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

Форматирование Cells

Существует два способа форматирования ячейки, как показано ниже.

Использование 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, чтобы увидеть, можно ли его повторно использовать. Для каждого объекта Workbook сохраняются только объекты Style, отличающиеся от существующих. Это означает, что для каждого файла Excel существует всего несколько сотен объектов Style, а не тысячи. Для каждой ячейки сохраняется только индекс пула объектов Style.

C#

Style style = cell.GetStyle();

style.Font.IsBold = true;

cell.SetStyle(style);

Предварительные темы