Чтение каждой строки листа 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);