ApachePOIで、列幅と行高を取得するサンプルです。
列幅と行高を取得するには以下メソッドを使用します。
・Sheet#getColumnWidth():列幅を取得する
・Row#getHeight():行高を取得する
サンプルソース
例)読み込んだExcelの1列目と1行目のサイズを取得する
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 |
import java.io.FileInputStream; import java.io.InputStream; import org.apache.poi.ss.usermodel.Row; import org.apache.poi.ss.usermodel.Sheet; import org.apache.poi.ss.usermodel.Workbook; import org.apache.poi.ss.usermodel.WorkbookFactory; public class PoiSample { public static void main(String[] args) { InputStream is = null; Workbook wb = null; try { //Excelファイル読込 is = new FileInputStream("C:¥¥temp¥¥sample.xlsx"); wb = WorkbookFactory.create(is); Sheet sh = wb.getSheetAt(0); //1シート目を読み込む Row row = sh.getRow(0); //1行目を読み込む //1列目の幅を取得する int w = sh.getColumnWidth(0); System.out.println("1列目の幅:" + w); //1行目の高さを取得する int h = row.getHeight(); System.out.println("1行目の高さ:" + h); } catch (Exception ex) { ex.printStackTrace(); } finally { try { wb.close(); } catch (Exception ex2) { ex2.printStackTrace(); } } } } |
- (結果例)
- 1列目の幅:2048 1行目の高さ:390
単位はPOI独自の単位になりますので、Excelで使用するピクセルとは異なります。
例えば、72ピクセルはPOIの単位では2048になります。
備考
- .xls形式、.xlsx形式どちらの形式のExcelにも対応します。
- 存在しないインデックス番号を指定した場合は例外が発生します。
- シートのインデックス番号は0から指定しますので、1シート目は0、2シート目は1…となります。