すでに解決策を見つけようとしましたが、問題に一致するものは何も見つかりませんでした。JXL を使用して Excel スプレッドシートを読み取り、各行を指定されたオブジェクトに変換しています。行内の各セルは、作成中のオブジェクトのプロパティに対応しています。私のスプレッドシートには 41 列あり、375 行を読み取った後、1 行あたりのセル数が 41 から 32 に変わりました。理由がわかりません。
行をループしてセルを取得するコードは次のとおりです。
w = Workbook.getWorkbook(inputWorkbook);
// Get the first sheet
Sheet sheet = w.getSheet(0);
// Loop over first 10 column and lines
for (int row=1; row < sheet.getRows();row++)
{
EventData event = new EventData();
// we skip first row bc that should be header info
//now iterate through columns in row
try
{
Cell[] cell = sheet.getRow(row);
event.Name = cell[0].getContents();
event.Location = cell[1].getContents();
コードの残りの部分は、引き続き各セルの内容を取得し、それに応じて割り当てます。しかし、行 376 の cell[32] にアクセスしようとすると、範囲外の例外が発生します。