2013-01-04 18 views
13

Próbuję pobrać odwołanie do komórki z wiersza za pomocą komórki i mam problem. Na przykład mam:Otrzymuj identyfikator referencyjnej komórki Cell za pomocą Apache POI

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

To działa dobrze, jeśli indeks Kolumna jest 1, ale jeśli kolumna została usunięta więc indeks B Kolumna stała 2 i metoda: CellReference.convertColStringToIndex("B") nadal jest przekształcenie go do 1 w takim przypadku mogę nie dostaję mojej kolumny, dostaję null.

Pytanie więc, w jaki sposób mogę uzyskać kolumnę z wiersza w zależności od identyfikatora komórki, który jest literą?

Odpowiedz

26

Spójrz na my answer to a previous question:

Prawdopodobnie chcesz użyć klasy CellReference użytkową, aby ci pomóc. Oferuje konwersję między literami w stylu Excela + numerami referencyjnymi oraz wierszami i kolumnami w stylu 0 w stylu POI. Kiedy go za pomocą, można zrobić coś takiego:

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()); 
} 

który pozwoli Ci znaleźć komórkę w odniesieniu podane Excel stylu (jeśli jest określony, jeszcze null)

Powiązane problemy