Hämta och ställ in stil för celler

Formatering av celler

Det finns två sätt att formatera en cell, som illustreras nedan.

Användning av getStyle()

Med följande kod initieras ett Style-objekt för varje cell vid formatering. Om många celler formateras används mycket minne eftersom Style-objektet är stort. Dessa Style-objekt kommer inte att frigöras förrän Workbook.save-metoden anropas.

JavaScript

cell.getStyle().getFont().setIsBold(true);

Användning av setStyle()

Det första tillvägagångssättet är enkelt och rak så varför lade vi till det andra tillvägagångssättet?

Vi lade till ett andra tillvägagångssätt för att optimera minnesanvändningen. Efter att ha hämtat ett Style-objekt med Cell.getStyle-metoden, ändra det och använd Cell.setStyle-metoden för att tilldela det till denna cell. Detta Style-objekt kommer inte att bevaras och JavaScripts garbage collector kommer att samla in det när det inte längre används.

När Cell.setStyle-metoden anropas sparas inte Style-objektet för varje cell. Istället jämförs detta Style-objekt med en intern Style-objektpool för att se om det kan återanvändas. Endast Style-objekt som skiljer sig från de befintliga behålls för varje Workbook-objekt. Detta innebär att det finns bara några hundra Style-objekt för varje Excel-fil istället för tusentals. För varje cell bevaras endast ett index till Style-objektpoolen.

JavaScript

let style = cell.getStyle();

style.getFont().setIsBold(true);

cell.setStyle(style);

Fortsatta ämnen