我有一个excel文件,其中包含各种信息,还包含一个表结构,其中包含两个标题单元代码和说明。所以现在我能够使用POI读取整个excel文件,但我的问题是我需要阅读只有excel中表格的两个值。但是我无法正确地做到这一点,这是我的代码到目前为止我所做的。
public class ReadExcelFileToList {
public static void main(String[] args) throws IOException {
InputStream input = null;
try {
input = new FileInputStream(
"C:\\Users\\jeet.chatterjee\\Downloads\\unitUploadFormat.xlsx");
System.out.println("file is found");
XSSFWorkbook wb = new XSSFWorkbook(input);
XSSFSheet sheet = wb.getSheetAt(0);
int rowCount = 0;
Iterator rows = sheet.rowIterator();
while (rows.hasNext()) {
XSSFRow row = (XSSFRow) rows.next();
System.out.println("\n");
if (rowCount == 3) {
Iterator cells = row.cellIterator();
while (cells.hasNext()) {
XSSFCell cell = (XSSFCell) cells.next();
if (XSSFCell.CELL_TYPE_STRING == cell.getCellType())
System.out.print(cell.getStringCellValue()
+ " ");
/*
* else if (XSSFCell.CELL_TYPE_STRING ==
* cell.getCellType())
* System.out.print(cell.getStringCellValue() +
* " "); else if (XSSFCell.CELL_TYPE_STRING ==
* cell.getCellType())
* System.out.print(cell.getStringCellValue() +
* " ");
*/
else
System.out.print("Unknown cell type");
}
rowCount++;
}
}
} catch (IOException ex) {
ex.printStackTrace();
} finally {
input.close();
}
}
}
我正在使用sheet.getLastRowNum()来获得我想要的结果,但我没有得到它,请帮助。。这是我的excel文件,我只想获得kg&千克价值等等,将在那里放置的所有物品都将被提取。
答案 0 :(得分:0)
您的代码中的错误由getLastRowNum的API解释
返回:最后一行包含此表(基于0)
所以你想要
if(rowCount == 4){
但当然如果有空行,结果可能也不是你想要的。
修改强>
为什么要这么难。
使用
XSSFRow row = sheet.getRow(4);
XSSFCell cell = row.getCell(1)
答案 1 :(得分:0)
while (rows.hasNext()) {
XSSFRow row = (XSSFRow) rows.next();
if(rowCount==3){
Iterator cells = row.cellIterator();
while (cells.hasNext()) {
XSSFCell cell = (XSSFCell) cells.next();
System.out.print(cell.getStringCellValue()+"\t");
}
}
System.out.println();
rowCount++;
}
像Scary Wombat所说的那样,使用你自己的行计数器。