In Excel is de breedte van een cel eigenlijk de breedte van een kolom, omdat Excel ervan uitgaat dat de breedte van de cellen in deze kolom gelijk moet zijn. Om de breedte van een cel in te stellen, moeten we beginnen met de breedte van de kolom; HSSFSheet heeft een methode genaamd SetColumnWidth, er zijn twee parameters: één is de index van de kolom (beginnend bij 0), en de andere is de breedte. Stel nu dat je de breedte van kolom B wilt instellen, dan kun je de volgende code gebruiken:
Hier vind je een interessant fenomeen: de tweede parameter van SetColumnWidth wordt vermenigvuldigd met 256, wat gebeurt hier? In feite is de eenheid van deze parameter 1/256 tekenbreedte, dat wil zeggen, de breedte van kolom B is ingesteld op 100 tekens. Wat we net zeiden is hoe je de breedte van een kolom moet instellen? Door direct de GetColumnWidth-methode te gebruiken, heeft deze methode slechts één parameter, namelijk het indexnummer van de kolom. Het ziet er zo uit:
Na het hebben gehad over breedte, laten we het hebben over hoogte, in Excel moet de hoogte van elke lijn ook hetzelfde zijn, dus het instellen van de hoogte van de cel betekent in feite de hoogte van de rij instellen, dus het relevante attribuut moet ook op HSSFRow staan, het is HSSFRow.Height and HeightInPoints, het verschil tussen deze twee attributen is dat de eenheid van HeightInPoints punten is, en de eenheid van Height 1/20 van een punt, Dus de waarde van Height is altijd 20 keer de HeightInPoints. Om de hoogte van de eerste lijn in te stellen, kun je de volgende code gebruiken:
of
Als je de rijhoogte van een bepaalde lijn wilt krijgen, kun je direct de retourwaarde van de HSSFRow.height eigenschap nemen.
Als het lastig is om de rijhoogte één rij tegelijk of de kolombreedte voor een kolom in te stellen, kun je overwegen de eigenschappen HSSFSheet.DefaultColumnWidth, HSSFSheet.DefaultRowHeight en HSSFSheet.DefaultRowHeightInPoints te gebruiken. Zodra deze eigenschappen zijn ingesteld, wordt de standaardbreedte of hoogte gebruikt als een rij of kolom geen breedte heeft. De code is als volgt:
|