因此,我的Excel文件的大小相对较小。它包含8张。每张表都有我需要阅读的数据的“记录”。每张表还有第一行保留给我跳过的标题;所以我的数据将从每张纸的第二行开始(第一个索引)并结束于最后一个记录。通过Java阅读Excel文件.xlsx
所以,下面是我的代码遍历工作表并阅读每一行,但它无法读取每张工作表。我似乎无法弄清楚为什么。请看看,任何建议将不胜感激。 谢谢!
FileInputStream fis = new FileInputStream(new File(filePath));
XSSFWorkbook wb = new XSSFWorkbook(fis);
DataFormatter formatter = new DataFormatter();
//iterate over sheets
for (int i=0; i<NUM_OF_SHEETS; i++) {
sheet = wb.getSheetAt(i);
sheetName = sheet.getSheetName();
//iterate over rows
for (int j=1; j<=lastRow; j++) { //1st row or 0-index of each sheet is reserved for the headings which i do not need.
row = sheet.getRow(j);
if (row!=null) {
data[j-1][0] = sheetName; //1st column or 0th-index of each record in my 2d array is reserved for the sheet's name.
//iterate over cells
for (int k=0; k<NUM_OF_COLUMNS; k++) {
cell = row.getCell(k, XSSFRow.RETURN_BLANK_AS_NULL);
cellValue = formatter.formatCellValue(cell); //convert cell to type String
data[j-1][k+1] = cellValue;
}//end of cell iteration
}
}//end of row iteration
}//end of sheet iteration
wb.close();
fis.close();
“但它无法读取每张纸”是什么意思?发生错误?然后请提供堆栈跟踪。其他东西不起作用?那么请告诉我们什么。 –
您是否尝试过使用调试器和/或添加日志记录来遍历代码,以便您可以解决问题? – mfulton26