Az Excelben egy cella szélessége valójában egy oszlop szélessége, mert az Excel feltételezi, hogy az oszlop celláinak szélessége ugyanaz legyen. Tehát a cella szélességének beállításához az oszlop szélességével kell kezdeni, HSSFSheet-nek van egy SetColumnWidth nevű módszere, amelynek két paramétere van: az egyik az oszlop indexe (0-tól kezdve), a másik a szélesség. Most tegyük fel, hogy be akarod állítani a B oszlop szélességét, a következő kódot használhatod:
Itt egy érdekes jelenséget találsz: a SetColumnWidth második paraméterét 256-tal szorozzuk, mi történik? Valójában ennek a paraméternek az egysége 1/256 karakter szélessége, vagyis a B oszlop szélessége 100 karakterre van állítva. Amit most mondtunk, az az, hogyan kell beállítani, tehát hogyan kell olvasni egy oszlop szélességét? Közvetlenül a GetColumnWidth metódussal ez a módszer csak egy paraméterrel rendelkezik, ami az oszlop indexszáma. Így néz ki:
A szélességről beszéltünk, beszéljünk a magasságról, az Excelben minden vonal magasságának is ugyanaznak kell lennie, tehát a cella magasságának beállítása valójában a sor magasságát is megállítjuk, így a releváns attribútumnak is HSSFRow-n kell lennie, ez HSSFRow. Height és HeightInPoints, a két attribútum különbsége, hogy a HeightInPoints egysége pont, a Magasság egysége pedig 1/20 pont, Tehát a magasság értéke mindig 20-szorosa a MagasságInPontoknak. Az első sor magasságának beállításához a következő kódot használhatod:
vagy
Ha egy adott vonal sormagasságát akarod megszerezni, közvetlenül veheted a HSSFRow.Height tulajdonság visszahozási értékét.
Ha nehézséget okoz sorként egy sorra vagy oszlopszélességet beállítani, akkor érdemes lehet a HSSFSheet.DefaultColumnWidth, HSSFSheet.DefaultRowHeight és HSSFSheet.DefaultRowHeightInPoints tulajdonságok használatát. Ha ezek a tulajdonságok beállítva, ha egy sornak vagy oszlopnak nincs szélessége beállítva, akkor az alapértelmezett szélességet vagy magasságot használják. A kódex a következő:
|