2013-01-04 15 views
13

CellリファレンスでCellを取得しようとしていますが、問題があります。例えば、私が持っている:列のインデックスが1ですが、B列インデックスが2になったので、もし列が削除されたと方法あれば正常に動作しますApache POIでCell参照セルIDを取得する

row.getCell(CellReference.convertColStringToIndex("B")); 

CellReference.convertColStringToIndex("B")はまだ1に変換されている場合、私はできるで私のコラムを入手していない、私はnullを取得しています。

したがって、文字であるセルの識別子に応じて行から列を取得する方法はありますか?

答えて

26

my answer to a previous questionを見てみましょう:

あなたはおそらくあなたを助けるためにCellReferenceユーティリティクラスを使用します。これは、Excelスタイルの文字+番号参照とPOIスタイル0ベースの行+列との間の変換を提供します。

あなたが与えられたエクセル形式の参照でセルを見つけるようになる
Sheet sheet = workbook.getSheet("MyInterestingSheet"); 

CellReference ref = new CellReference("B12"); 
Row r = sheet.getRow(ref.getRow()); 
if (r != null) { 
    Cell c = r.getCell(ref.getCol()); 
} 

(それが定義されていた場合、それ以外はnull)

:それを使用する場合は、次のような何かを行うことができます
関連する問題