În Excel, lățimea unei celule este de fapt lățimea unei coloane, deoarece Excel presupune că lățimea celulelor din această coloană trebuie să fie aceeași. Pentru a seta lățimea unei celule, trebuie să începem cu lățimea coloanei, HSSFSheet are o metodă numită SetColumnWidth, există doi parametri: unul este indicele coloanei (începând de la 0), iar celălalt este lățimea. Acum să presupunem că vrei să setezi lățimea coloanei B, poți folosi următorul cod:
Aici vei găsi un fenomen interesant: al doilea parametru al SetColumnWidth este înmulțit cu 256, ce se întâmplă? De fapt, unitatea acestui parametru este 1/256 lățimea caracterului, adică lățimea coloanei B este setată la 100 de caractere. Ce tocmai am spus este cum să setezi, adică cum să citești lățimea unei coloane? Folosind metoda GetColumnWidth direct, această metodă are un singur parametru, care este numărul de index al coloanei. Arată așa:
După ce vorbim despre lățime, să vorbim despre înălțime, în Excel, înălțimea fiecărei linii trebuie să fie aceeași, deci setarea înălțimii celulei, de fapt, înseamnă să setezi înălțimea rândului, deci atributul relevant ar trebui să fie tot pe HSSFRow, adică HSSFRow.Height și HeightInPoints, diferența dintre aceste două atribute este că unitatea HeightInPoints este puncte, iar unitatea de Height este 1/20 dintr-un punct, Astfel, valoarea Înălțimii este întotdeauna de 20 de ori mai mare decât ÎnălțimeaInPuncte. Pentru a seta înălțimea primei linii, poți folosi următorul cod:
sau
Dacă vrei să obții înălțimea rândurilor unei anumite linii, poți lua direct valoarea de retur a proprietății HSSFRow.Height.
Dacă ți se pare dificil să setezi înălțimea rândului pe rând sau lățimea coloanei pentru o coloană, poți lua în considerare folosirea proprietăților HSSFSheet.DefaultColumnWidth, HSSFSheet.DefaultRowHeight și HSSFSheet.DefaultRowHeightInPoints. Odată ce aceste proprietăți sunt setate, dacă un rând sau o coloană nu are o lățime setată, se folosește lățimea sau înălțimea implicită. Codul este următorul:
|