Освоение чтения Excel на Java с помощью Apache POI: подробное руководство

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

  1. Чтение файла Excel:
    Для начала давайте сначала откроем файл Excel с помощью Apache POI:
import org.apache.poi.ss.usermodel.*;
public class ExcelReader {
    public static void main(String[] args) {
        try (Workbook workbook = WorkbookFactory.create(new File("sample.xlsx"))) {
            // Code for reading the Excel file
        } catch (IOException | InvalidFormatException e) {
            e.printStackTrace();
        }
    }
}
  1. Чтение определенного листа.
    Если ваш файл Excel содержит несколько листов, вы можете прочитать конкретный лист, используя его индекс или имя:
Sheet sheet = workbook.getSheetAt(0); // Read the first sheet by index
// OR
Sheet sheet = workbook.getSheet("Sheet1"); // Read the sheet by name
  1. Перебор строк и столбцов.
    После того как у вас есть ссылка на лист, вы можете перебирать его строки и столбцы для извлечения данных:
for (Row row : sheet) {
    for (Cell cell : row) {
        // Extract data from each cell
    }
}

<старый старт="4">

  • Чтение значений ячеек.
    Чтобы прочитать значение определенной ячейки, вы можете использовать метод getCell()и извлечь значение на основе ее типа данных:
  • Cell cell = row.getCell(0); // Read the first cell in a row
    switch (cell.getCellType()) {
        case STRING:
            String value = cell.getStringCellValue();
            break;
        case NUMERIC:
            double value = cell.getNumericCellValue();
            break;
        // Handle other data types accordingly
    }
    1. Пропуск заголовков.
      Если ваш файл Excel содержит заголовки в первой строке, вы можете пропустить их при переборе строк:
    Iterator<Row> rowIterator = sheet.iterator();
    if (rowIterator.hasNext()) {
        rowIterator.next(); // Skip the header row
    }
    1. Обработка формул.
      Apache POI предоставляет методы для чтения как формулы, так и вычисленного значения ячейки, содержащей формулу:
    if (cell.getCellType() == CellType.FORMULA) {
        String formula = cell.getCellFormula();
        CellValue cellValue = evaluator.evaluate(cell); // Get the calculated value
        // Extract data from the formula
    }

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