В Excel ширината на клетка всъщност е ширината на колона, защото Excel приема, че ширината на клетките в тази колона трябва да е еднаква. За да зададем ширината на клетка, трябва да започнем с ширината на колоната, HSSFSheet има метод, наречен SetColumnWidth, има два параметъра: единият е индексът на колоната (започвайки от 0), а другият е ширината. Сега, ако искате да зададете ширината на колона B, можете да използвате следния код:
Тук ще откриете интересен феномен – вторият параметър на SetColumnWidth се умножава по 256, какво се случва? Всъщност единицата на този параметър е ширина на 1/256 знака, тоест ширината на колона B е зададена на 100 знака. Това, което току-що казахме, е как да се зададе, тоест как да се чете ширината на колона? Използвайки директно метода GetColumnWidth, този метод има само един параметър, който е индексният номер на колоната. Изглежда така:
След като говорим за ширината, нека поговорим за височината, в Excel височината на всяка линия също трябва да е еднаква, така че задаването на височината на клетката всъщност означава да се зададе височината на реда, така че съответният атрибут трябва да е и в HSSFRow, това е HSSFRow.Height и HeightInPoints, разликата между тези два атрибута е, че единицата HeightInPoints са точки, а единицата за височина е 1/20 от точката, Така че стойността на височината винаги е 20 пъти по-голяма от HeightInPoints. За да зададете височината на първия ред, можете да използвате следния код:
или
Ако искаш да получиш височината на реда на определена линия, можеш директно да вземеш връщаната стойност на свойството HSSFRow.Height.
Ако може да ви е трудно да зададете височината на реда един ред наведнъж или ширината на колоната за колона, можете да обмислите използването на свойствата HSSFSheet.DefaultColumnWidth, HSSFSheet.DefaultRowHeight и HSSFSheet.DefaultRowHeightInPoints. След като тези свойства са зададени, ако ред или колона няма зададена ширина, се използва стандартната ширина или височина. Кодът е следният:
|