Obtenir et définir le style pour les cellules

Mise en forme des cellules

Il y a deux façons de formater une cellule, illustrées ci-dessous.

Utilisation de getStyle()

Avec le code suivant, un objet Style est initié pour chaque cellule lors du formatage. Si de nombreuses cellules sont formatées, une grande quantité de mémoire est consommée car l’objet Style est volumineux. Ces objets Style ne seront pas libérés tant que la méthode Workbook.save n’aura pas été appelée.

JavaScript

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

Utilisation de setStyle()

La première approche est facile et directe, alors pourquoi avons-nous ajouté la deuxième approche ?

Nous avons ajouté la deuxième approche pour optimiser l’utilisation de la mémoire. Après avoir utilisé la méthode Cell.getStyle pour récupérer un objet Style, modifiez-le et utilisez la méthode Cell.setStyle pour le réassigner à cette cellule. Cet objet Style ne sera pas conservé et le ramasse-miettes de JavaScript le collectera lorsqu’il ne sera plus référencé.

Lors de l’appel de la méthode Cell.setStyle, l’objet Style n’est pas enregistré pour chaque cellule. À la place, nous comparons cet objet Style à une réserve interne d’objets Style pour voir s’il peut être réutilisé. Seuls les objets Style qui diffèrent de ceux existants sont conservés pour chaque objet Workbook. Cela signifie qu’il n’y a que quelques centaines d’objets Style pour chaque fichier Excel au lieu de milliers. Pour chaque cellule, seul un indice vers la réserve d’objets Style est conservé.

JavaScript

let style = cell.getStyle();

style.getFont().setIsBold(true);

cell.setStyle(style);

Sujets avancés