« 『Windows10』にしたら『VOICEROID+結月ゆかりEX』が動かなくなった…。(汗) | トップページ | 『java』の『poi』から、表計算ソフトのプログラム構造が見えて来た…。 »

2016年5月 7日 (土)

『java』の『poi』で行を削除したい!

で、調べるとそんな機能が無いのが判明…。

行を削除するには、『removeRow』が紹介されるが

これは、指定行のデータを削除する機能で、

行を削除する機能ではない…。

とは言え、まあ、データを削除するので、間違いはないのだが…。

で、色々調べたら、『shiftRows』が使えるとの事。

で、小細工したらこんな感じで使えるようになった。

public void deleteRow(HSSFSheet sheet, int row) {
    int lastRow = sheet.getLastRowNum();
    sheet.shiftRows(row+1,lastRow,-1);
}

簡単に説明すると…

削除したい行を『row』で指定。

で、『row+1』行を『-1』で『row』に移動させるって処理。

この時、移動させる範囲を、
『sheet.getLastRowNum()』で取得する。

『sheet.getLastRowNum()』は、一番終わりにある
セルの行。

なので、結果的に『row』行は、削除される。

って感じ…。

こうして考えると、『poi』には、
機能が無いのでなく、必要な機能が揃っているので
あとは、組み合わせて実現しろって事なのかな。

頭の固い俺には、難しいです…。(汗)

|

« 『Windows10』にしたら『VOICEROID+結月ゆかりEX』が動かなくなった…。(汗) | トップページ | 『java』の『poi』から、表計算ソフトのプログラム構造が見えて来た…。 »

コメント

コメントを書く



(ウェブ上には掲載しません)




トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/108365/63762074

この記事へのトラックバック一覧です: 『java』の『poi』で行を削除したい!:

« 『Windows10』にしたら『VOICEROID+結月ゆかりEX』が動かなくなった…。(汗) | トップページ | 『java』の『poi』から、表計算ソフトのプログラム構造が見えて来た…。 »