Как прочитать данные из файла Excel с заголовком в Java/Spring

У меня есть этот файл Excel. Как создать запрос в Java/Spring для чтения данных из этого файла?

Проблема, с которой я столкнулся, связана с первыми двумя строками. Я не могу получить данные из Excel для них. Я не знаю, как это сделать в Apache POI.

Предоставьте достаточно кода, чтобы другие могли лучше понять или воспроизвести проблему.

Community 27.02.2024 11:56
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
1
1
215
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Это можно легко сделать с помощью Apache POI.

try (Workbook workbook = new XSSFWorkbook(new ByteArrayInputStream(fileContent))) {
    Sheet sheet = workbook.getSheetAt(0);
    Row row = sheet.getRow(0);
    Cell cell = row.getCell(0);
    String value = cell.getStringValue();
    ...
}

Этого должно быть достаточно, чтобы помочь вам начать программировать.

Ответ принят как подходящий

Итак, решение было таким:

String supplierName = null;

    // GET Supplier name
    for (int r = 0; r <= rows; r++) {
        XSSFRow row = sheet.getRow(r);
        if (r == 2) {
            break;
        }
        for (int c = 0; c < cols; c++) {
            if (r == 1) {
                XSSFCell cell = row.getCell(c);
                supplierName = cell.getStringCellValue();
                break;
            }
        }
    }

Другие вопросы по теме