Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to go though the sheets of a Workbook with Apache POI?

I am a real newb programer trying to make a small java program that edits spreadsheets for a friend using Apache Poi. Currently I go through the excel file using this code:

Sheet paxgs = rs1.getSheetAt(0); 
for (Row row : paxgs) {
       Cell secCell = row.getCell(1);
       Cell firstCell = row.getCell(0);
       if (firstCell!=null && firstCell.getCellType()==firstCell.CELL_TYPE_STRING)
}

The problem is that I don't know the exact number of sheets that the excel file is going to have. I tried :

Workbook rs1 = WorkbookFactory.create(new FileInputStream(filename));    
for (Sheet sheet : rs1)

but it didn't work so I was wondering if there is any way to go through all the sheet of a workbook.

like image 364
Kotsor Avatar asked Dec 03 '13 01:12

Kotsor


1 Answers

A Workbook doesn't implement Iterable<Sheet> like a Sheet implements Iterable<Row>, so you can't use an "enhanced" for loop. But you can loop through the Sheet objects yourself, with a traditional for loop. Use getNumberOfSheets() to find the number of sheets, and getSheetAt to retrieve the individual Sheet objects.

for (int i = 0; i < workbook.getNumberOfSheets(); i++)
{
    Sheet sheet = workbook.getSheetAt(i);
    // Process your sheet here.
}
like image 95
rgettman Avatar answered Sep 20 '22 23:09

rgettman