Чтение каждой строки листа Excel с использованием Java

У меня есть n строк и столбцов листа Excel. пример

Name OrderId Count Date 
ANC 1234 5 23/3/18 
ABCD 2345 6 23/3/18 
XYGS 3567 7 23/3/18

Поэтому в приведенных выше данных я хочу прочитать Orderid и Count и дать их в качестве входных данных для следующего вызова. Я использовал приведенный ниже код

if(columnIndex != 0) {

  for(Row row1: sheet) {

    Cell C =row1.getCell(columnIndex);
    po_number =c.getStringCellValue();
    excelList.add(po_number);
    int n = columnIndex+1;
    Cell line_number1= row1.getCell(n);
    line_number = line_number1.getStringCellValue();

    FileOutputStream("D:\Users\abcd\Documents\AMD\Output\output.csv"));

    System.out.println(po_number + " " +line_number);

  } 
}

Приведенный выше код читает лист Excel и выдает входные данные в консоли, но я хочу, чтобы конкретная роль была назначена в некотором массиве или списке, откуда я могу дать ее в качестве входных данных для следующей функции итеративным способом. Может кто-то помочь мне с этим.

1 ответ

Я бы сказал, сделать список массивов целых (порядок и количество кажутся целыми числами), или String, если вы хотите, чтобы они были в виде строк

  List<int[]> data = new ArrayList<>();
  for(int i=1; i<sheet.getPhysicalNumberOfRows(); i++) {
    Row row = sheet.getRow(i);
    int orderId = (int)row.getCell(1).getNumericCellValue();
    int count = (int)row.getCell(2).getNumericCellValue();
    data.add(new int[] { orderId, count });
  }

data должен выглядеть так

[1234, 5], [2345, 6], [3567, 7]

И вы можете передать его другому методу, предполагая, что этот метод

private static void myOtherMethod(List<int[]> data) {
  // Do whatever you want here
}

ты звонишь:

myOtherMethod(data);
Другие вопросы по тегам