Obtener y establecer estilo para celdas

Formato Cells

Hay dos formas de formatear una celda, que se ilustran a continuación.

Usando GetStyle()

Con el siguiente fragmento de código, se inicia un objeto Estilo para cada celda al formatearla. Si se dan formato a muchas celdas, se consume una gran cantidad de memoria porque el objeto Estilo es un objeto grande. Estos objetos Style no se liberarán hasta que se llame al método Workbook.Save.

C#

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

Usando SetStyle()

El primer enfoque es fácil y directo, entonces ¿por qué agregamos el segundo enfoque?

Agregamos el segundo enfoque para optimizar el uso de la memoria. Después de usar el método Cell.GetStyle para recuperar un objeto Style, modifíquelo y use el método Cell.SetStyle para volver a configurarlo en esta celda. Este objeto de estilo no se conservará y .NET GC lo recopilará cuando no se haga referencia a él.

Al llamar al método Cell.SetStyle, el objeto Style no se guarda para cada celda. En su lugar, comparamos este objeto de estilo con un grupo de objetos de estilo interno para ver si se puede reutilizar. Sólo se conservan para cada objeto de Libro de trabajo los objetos de Estilo que difieren de los existentes. Esto significa que sólo hay varios cientos de objetos de estilo para cada archivo de Excel en lugar de miles. Para cada celda, solo se conserva un índice del grupo de objetos de estilo.

C#

Style style = cell.GetStyle();

style.Font.IsBold = true;

cell.SetStyle(style);

Temas avanzados