I Excel är bredden på en cell faktiskt bredden på en kolumn, eftersom Excel antar att bredden på cellerna i denna kolumn måste vara densamma. Så för att sätta bredden på en cell måste vi börja med kolumnens bredd, HSSFSheet har en metod som heter SetColumnWidth, det finns två parametrar: en är kolumnens index (med start från 0) och den andra är bredden. Antag nu att du vill ställa in bredden på kolumn B, kan du använda följande kod:
Här hittar du ett intressant fenomen, den andra parametern i SetColumnWidth multipliceras med 256, vad är det som händer? Faktum är att enheten för denna parameter är 1/256 teckenbredd, det vill säga bredden på kolumn B sätts till 100 tecken. Det vi just sa är hur man ställer in, så hur man läser bredden på en kolumn? Med GetColumnWidth-metoden direkt har denna metod endast en parameter, nämligen kolumnens indexnummer. Det ser ut så här:
Efter att ha pratat om bredd, låt oss prata om höjd, i Excel krävs också att höjden på varje rad är densamma, så att sätta cellens höjd är faktiskt att sätta radens höjd, så det relevanta attributet bör också finnas på HSSFRow, det är HSSFRow.Height and HeightInPoints, skillnaden mellan dessa två attribut är att enheten HeightInPoints är poäng, och enheten Height är 1/20 av en punkt, Så värdet av Height är alltid 20 gånger HeightInPoints. För att ställa in höjden på den första raden kan du använda följande kod:
eller
Om du vill få radhöjden för en viss rad kan du direkt ta returvärdet för egenskapen HSSFRow.height.
Om du kan tycka det är besvärligt att ställa in radhöjden en rad i taget eller kolumnbredden för en kolumn, kan du överväga att använda egenskaperna HSSFSheet.DefaultColumnWidth, HSSFSheet.DefaultRowHeight och HSSFSheet.DefaultRowHeightInPoints. När dessa egenskaper är satta, om en rad eller kolumn inte har en bredd satt, används standardbredden eller höjden. Koden är följande:
|