私のExcelファイルのサイズは比較的小さいので、それは8シートを含んでいます。各シートには、私が読む必要があるデータの "記録"があります。各シートには、スキップするヘッダー用に予約された最初の行もあります。私のデータは各シートの2行目(1番目のインデックス)から始まり、最後のレコードで終わります。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