Как получить значение из определенной ячейки файла xlsx с помощью java apache poi

Я пишу java-программу для чтения листа excel (xlsx) с помощью apache poi. Я могу выполнять итерацию по всем ячейкам и получать все значения. Но я не могу получить конкретную ценность ячейки, скажем, E10. Есть ли способ найти это?

Пожалуйста, см. Код, который я использовал для итерации по всем ячейкам.

package application; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.util.Iterator; import org.apache.poi.hssf.usermodel.HSSFCell; import org.apache.poi.hssf.usermodel.HSSFRow; import org.apache.poi.hssf.usermodel.HSSFSheet; import org.apache.poi.hssf.usermodel.HSSFWorkbook; 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 ReadFromXLSX { public static void readXLSXFile() throws IOException { InputStream ExcelFileToRead = new FileInputStream("C:\\Test.xlsx"); XSSFWorkbook wb = new XSSFWorkbook(ExcelFileToRead); XSSFWorkbook test = new XSSFWorkbook(); XSSFSheet sheet = wb.getSheetAt(0); XSSFRow row; XSSFCell cell; Iterator rows = sheet.rowIterator(); while (rows.hasNext()) { row=(XSSFRow) rows.next(); Iterator cells = row.cellIterator(); while (cells.hasNext()) { cell=(XSSFCell) cells.next(); if (cell.getCellType() == XSSFCell.CELL_TYPE_STRING) { System.out.print(cell.getStringCellValue()+" "); } else if(cell.getCellType() == XSSFCell.CELL_TYPE_NUMERIC) { System.out.print(cell.getNumericCellValue()+" "); } else { } } System.out.println(); } } } 

Например, чтобы получить E10 первого листа:

 wb.getSheetAt(0).getRow(9).getCell(4); 

Примечание: вычесть один из них, потому что индексы основаны на нуле.

Вы также можете использовать этот метод удобства для сопоставления E с 4.

 wb.getSheetAt(0).getRow(9).getCell(CellReference.convertColStringToIndex("E")); 

XSSFSheet имеет метод getRow (int rownum). Он возвращает логическую строку (на основе 0). Если вы попросите строку, которая не определена, вы получите нуль. Это означает, что строка 4 представляет пятую строку на листе.

Как только вы получите строку, вы можете вызвать метод getCell (int cellnum) объекта XSSFRow. Он возвращает ячейку в указанном индексе (на основе 0).

Чтобы получить значение из определенной ячейки в excel, вы можете использовать приведенную ниже строку кода.

 wb.getSheetAt(0).getRow(1).getCell(1); 
  • Прочтите встроенный файл MSWord из excel и сохраните его на диске с помощью Java
  • apache poi максимальное количество строк
  • Чтение надписей excel apache poi
  • Создавать заголовки столбцов в Excel после каждых 3 столбцов с использованием java, Apache POI
  • Автоматизированный тестовый пример с вводом и выводом из Excel
  • Управление состоянием элементов управления Excel в Apache POI
  • Как сравнить два листа excel
  • Обновление различных листов Apache POI Workbook с использованием нескольких потоков
  • POI поврежденный файл xlsm после вызова XSSFWorkbook.createName
  • java apache poi shifting Строки запускаются в исключение во время выполнения
  • как читать определенную строку из excel на основе некоторого уникального значения в java с помощью POI?
  • Давайте будем гением компьютера.