I Excel er bredden på en celle faktisk bredden på en kolonne, fordi Excel antar at bredden på cellene i denne kolonnen må være den samme. For å sette bredden på en celle må vi starte med bredden på kolonnen, HSSFSheet har en metode kalt SetColumnWidth, det finnes to parametere: den ene er indeksen til kolonnen (startende fra 0), og den andre er bredden. La oss nå si at du vil sette bredden på kolonne B, kan du bruke følgende kode:
Her finner du et interessant fenomen: den andre parameteren i SetColumnWidth multipliseres med 256, hva er det som skjer? Faktisk er enheten til denne parameteren 1/256 tegnbredde, det vil si at bredden til kolonne B settes til 100 tegn. Det vi nettopp sa, er hvordan man setter seg, altså hvordan man leser bredden på en kolonne? Ved å bruke GetColumnWidth-metoden direkte har denne metoden bare én parameter, nemlig indeksnummeret til kolonnen. Det ser slik ut:
Etter å ha snakket om bredde, la oss snakke om høyde, i Excel kreves også høyden på hver linje å være den samme, så å sette høyden på cellen er faktisk å sette høyden på raden, så den relevante attributten bør også være på HSSFRow, det er HSSFRow.Height and HeightInPoints, forskjellen mellom disse to attributtene er at enheten HeightInPoints er poeng, og enheten for høyde er 1/20 av et punkt, Så verdien av Height er alltid 20 ganger HeightInPoints. For å sette høyden på den første linjen kan du bruke følgende kode:
eller
Hvis du vil få radhøyden til en bestemt linje, kan du direkte ta returverdien til HSSFRow.height-egenskapen.
Hvis du synes det er vanskelig å sette radhøyden én rad om gangen eller kolonnebredden for en kolonne, kan du vurdere å bruke egenskapene HSSFSheet.DefaultColumnWidth, HSSFSheet.DefaultRowHeight og HSSFSheet.DefaultRowHeightInPoints. Når disse egenskapene er satt, hvis en rad eller kolonne ikke har en bredde satt, brukes standard bredde eller høyde. Koden er som følger:
|