У меня есть лист Excel, и я хочу дать ему строковый ввод, а код java ищет входные данные в листе Excel. И когда он его находит, он распечатывает соседнюю ячейку (ту, что справа).
Этот код просто дает мне все значения таблицы Excel. Но я хочу, чтобы он дал мне конкретное значение c.
Это мой код:
package readfiles;
import java.io.File;
import java.io.FileInputStream;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.Scanner;
import org.apache.poi.xssf.usermodel.XSSFCell;
import org.apache.poi.xssf.usermodel.XSSFRow;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
public class LeerArchivosDeExcel {
public LeerArchivosDeExcel(File fileName){
List cellData = new ArrayList();
try {
FileInputStream fileInputStream = new FileInputStream(fileName);
XSSFWorkbook workBook = new XSSFWorkbook(fileInputStream);
XSSFSheet hssfSheet = workBook.getSheetAt(0);
Iterator rowIterator = hssfSheet.rowIterator();
while(rowIterator.hasNext()){
XSSFRow hssfRow = (XSSFRow) rowIterator.next();
Iterator iterator = hssfRow.cellIterator();
List cellTemp = new ArrayList();
while (iterator.hasNext()){
XSSFCell hssfCell = (XSSFCell) iterator.next();
cellTemp.add(hssfCell);
}
cellData.add(cellTemp);
}
} catch (Exception e) {
e.printStackTrace();
}
obtener(cellData);
}
private void obtener(List cellDataList){
for (int i = 0; i < cellDataList.size(); i++) {
List cellTempList = (List) cellDataList.get(i);
for (int j = 0; j < cellTempList.size(); j++) {
XSSFCell hssfCell = (XSSFCell) cellTempList.get(j);
String stringCellValue = hssfCell.toString();
System.out.print(stringCellValue+" ");
}
System.out.println();
}
}
public static void main(String[] args) {
File f = new File ("/Users/sushi/Documentos/BD2/Libro.xlsx");
Scanner input = new Scanner(System.in);
if (f.exists()){
LeerArchivosDeExcel obj = new LeerArchivosDeExcel(f);
}
}
}