Ottenere e impostare lo stile per le celle

Formattazione celle

Ci sono due modi per formattare una cella, illustrati di seguito.

Utilizzando GetStyle()

Con il seguente pezzo di codice, viene inizializzato un oggetto Style per ogni cella durante la formattazione. Se viene formattato un gran numero di celle, viene consumata una grande quantità di memoria perché l’oggetto Style è un oggetto grande. Questi oggetti Style non verranno liberati fino a quando non viene chiamato il metodo Workbook.Save.

C#

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

Utilizzare SetStyle()

Il primo approccio è semplice e diretto, quindi perché abbiamo aggiunto il secondo approccio?

Abbiamo aggiunto il secondo approccio per ottimizzare l’uso della memoria. Dopo aver utilizzato il metodo Cell.GetStyle per recuperare un oggetto Style, modificarlo e utilizzare il metodo Cell.SetStyle per impostarlo di nuovo su questa cella. Questo oggetto Style non verrà preservato e sarà raccolto dal .NET GC quando non è referenziato.

Quando si chiama il metodo Cell.SetStyle, l’oggetto Style non viene salvato per ogni cella. Invece, confrontiamo questo oggetto Style con un pool interno di oggetti Style per vedere se può essere riutilizzato. Solo gli oggetti Style che differiscono da quelli esistenti vengono mantenuti per ogni oggetto Workbook. Questo significa che ci sono solo diversi centinaia di oggetti Style per ogni file Excel invece di migliaia. Per ogni cella, viene preservato solo un indice al pool di oggetti Style.

C#

Style style = cell.GetStyle();

style.Font.IsBold = true;

cell.SetStyle(style);

Argomenti avanzati