Как получить данные строки без использования ячеек формулы в apache poi

Я работаю над программой, в которой данные строки из листа excel должны отображаться как выходные данные. В качестве ввода вводится идентификатор, который будет отображать конкретную строку для вывода вывода. Я использую apache poi для java для написания кода. Я хочу отобразить вывод без использования ячеек, которые я использовал в моей программе. Есть ли какая-либо функция, которая напрямую печатает данные строки для объекта строки?

package exceldata; import org.apache.poi.ss.usermodel.*; import org.apache.poi.xssf.usermodel.XSSFWorkbook; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; import java.util.*; public class exceldata { private static final String FILE_NAME = "C:\\Users\\agandiko\\Desktop\\data.xlsx"; public static void main(String[] args) { try {System.out.println("Enter the id:"); Scanner s=new Scanner(System.in); String field=s.next(); int on=0; int n=0; int cc=1; FileInputStream excelFile = new FileInputStream(new File(FILE_NAME)); Workbook wb = new XSSFWorkbook(excelFile); DataFormatter formatter = new DataFormatter(); for (int i = 0; i < wb.getNumberOfSheets(); i++) { System.out.println(); System.out.println(); System.out.println("Data for Sheet"+" "+(i+1)); System.out.println("-----------------------------------"); System.out.println(); System.out.println(); Sheet datatypeSheet = wb.getSheetAt(i); Iterator<Row> iterator = datatypeSheet.iterator(); int noOfColumns = datatypeSheet.getRow(0).getPhysicalNumberOfCells(); while (iterator.hasNext()) { Row currentRow = iterator.next(); Iterator<Cell> cellIterator = currentRow.iterator(); while (cellIterator.hasNext()) { Cell currentCell = cellIterator.next(); Cell k=currentCell; //getCellTypeEnum shown as deprecated for version 3.15 //getCellTypeEnum ill be renamed to getCellType starting from version 4.0 String val=formatter.formatCellValue(currentCell).toString(); if((val.equals(field))) { while(cellIterator.hasNext()){ if(cc==1){System.out.print(formatter.formatCellValue(k).toString()+" ");} else{currentCell = cellIterator.next();System.out.print(formatter.formatCellValue(currentCell).toString()+" ");} cc++; } // System.out.print(currentRow.toString()+" "); // currentRow = iterator.next(); // cellIterator = currentRow.iterator(); // on=1;n++;} //System.out.println(cc); } // if(n==noOfColumns){System.out.println();n=0;} //on=0; } cc=1; } } } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } 

}

Вот как я понимаю прецедент: посмотрите на некоторый id (код предполагает, что он находится в первом столбце каждого листа) и печатает всю строку, если он соответствует введенному id; вот как это можно решить (в зависимости от данных на вашем листе, возможно, потребуется добавить несколько нулевых проверок, но в целом он работает «как есть»):

 public static void main(String[] args) throws IOException { System.out.println("Enter the id:"); Scanner s = new Scanner(System.in); String id = s.next(); FileInputStream excelFile = new FileInputStream(new File(FILE_NAME)); Workbook wb = new XSSFWorkbook(excelFile); DataFormatter formatter = new DataFormatter(); for (int i = 0; i < wb.getNumberOfSheets(); i++) { System.out.println(); System.out.println(); System.out.println("Data for Sheet" + " " + (i + 1)); System.out.println("-----------------------------------"); System.out.println(); System.out.println(); Sheet datatypeSheet = wb.getSheetAt(i); Iterator<Row> iterator = datatypeSheet.iterator(); while (iterator.hasNext()) { Row currentRow = iterator.next(); if(id.equals(formatter.formatCellValue(currentRow.getCell(0)))) { currentRow.cellIterator().forEachRemaining(c -> System.out.print(formatter.formatCellValue(c) + " ")); } } } wb.close(); s.close(); } 
  • Чтение и запись из xls и xlsx файла excel в java
  • Файл Apache поврежден
  • Попробуйте поймать NotOLE2FileException
  • Добавление пользовательской части XML с помощью Apache POI
  • Можно ли импортировать Excel-таблицу в качестве таблицы в базе данных?
  • Отсутствует Java org.apache.poi.unsupportedfileformatexception
  • Как узнать ячейки, которые выровнены по объединенной ячейке в excel
  • Как обновить ссылки на листы Excel с помощью poi
  • Написание огромного массива данных 2D для Excel с использованием java POI
  • Список, содержащий разные данные, которые будут отображаться в excel
  • Java Apache POI - создание итератора для поиска даты
  • Давайте будем гением компьютера.