17

How to get the column names in an Excel file using Apache POI, to make sure that the columns are ordered as expected.

2
  • 5
    Do you mean "A", "B", ...? If not, what do you mean by column names? Columns are normally "named" by putting names in a top row. Commented Nov 20, 2011 at 15:05
  • 3
    @Ed Staub is it possible to get "A" and "B", i have a similar requirement Commented Nov 5, 2014 at 12:46

4 Answers 4

37

There is a convenience method for this:

CellReference.convertNumToColString(cell.getColumnIndex());

To get the full name:

private static String getCellName(Cell cell)
{
    return CellReference.convertNumToColString(cell.getColumnIndex()) + (cell.getRowIndex() + 1);
}
Sign up to request clarification or add additional context in comments.

Comments

9

Or this:

cell.getSheet().getRow(0).getCell(currentcellIndex)
    .getRichStringCellValue().toString()

Row indexes start from 0.

3 Comments

If anyone can confirm whether rows start from 0 or not, that would be good. "Not sure if" is not ideal to have in an accepted answer.
@halfer I think that depends on how excel sheet in created.
@halfer Yes. Row's index start from 0.
5

Apache POI, translating Excel column number to letter

      FileInputStream fis = new FileInputStream(
      new File("D:\\workspace\\Writesheet.xlsx"));
      @SuppressWarnings("resource")
      XSSFWorkbook workbook = new XSSFWorkbook(fis);
      XSSFSheet spreadsheet = workbook.getSheetAt(0);

      int lastcell=spreadsheet.getRow(0).getLastCellNum();
      //Non empty Last cell Number or index return

      for(int i=0;i<=lastcell;i++)
      {
          try
          {
              System.out.println(CellReference.convertNumToColString(i));
          }catch(Exception e)
          {}
      }
      fis.close();

Comments

1

To get cell name:

String cellName = new CellAddress(intRow, intCol).toString();

1 Comment

please add more explanation

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.