Ottieni e imposta lo stile per le celle

Formattazione Cells

Esistono due modi per formattare una cella, illustrati di seguito.

Utilizzando GetStyle()

Con la seguente parte di codice, viene avviato un oggetto Style per ogni cella durante la formattazione. Se vengono formattate molte celle, viene consumata una grande quantità di memoria perché l’oggetto Style è un oggetto di grandi dimensioni. Questi oggetti Style non verranno liberati finché non verrà chiamato il metodo Workbook.Save.

C#

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

Utilizzando SetStyle()

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

Abbiamo aggiunto il secondo approccio per ottimizzare l’utilizzo della memoria. Dopo aver utilizzato il metodo Cell.GetStyle per recuperare un oggetto Style, modificarlo e utilizzare il metodo Cell.SetStyle per reimpostarlo su questa cella. Questo oggetto Style non verrà conservato e .NET GC lo raccoglierà quando non viene fatto riferimento.

Quando si chiama il metodo Cell.SetStyle, l’oggetto Style non viene salvato per ogni cella. Confrontiamo invece questo oggetto Style con un pool di oggetti Style interno per vedere se può essere riutilizzato. Per ciascun oggetto Cartella di lavoro vengono mantenuti solo gli oggetti Stile che differiscono da quelli esistenti. Ciò significa che ci sono solo diverse centinaia di oggetti Stile per ciascun file Excel invece di migliaia. Per ogni cella viene conservato solo un indice del pool di oggetti Stile.

C#

Style style = cell.GetStyle();

style.Font.IsBold = true;

cell.SetStyle(style);

Argomenti avanzati