Преобразование электронных таблиц Excel в JSON часто требуется при построении конвейеров обмена данными или передаче их в API. Conholdate.Total for Java — мощный SDK, упрощающий эту задачу для разработчиков Java. В этом руководстве вы узнаете, как настроить библиотеку, пройти полный процесс реализации и точно настроить параметры конвертации в соответствии с потребностями вашего проекта.

Требования и настройка для Conholdate.Total for Java

Прежде чем начать, убедитесь, что у вас есть:

  • Установлен Java 17 или новее.
  • Maven 3.6+ для управления зависимостями.
  • Файл Excel (.xlsx), который вы хотите конвертировать.

Добавьте репозиторий Maven Conholdate.Total и зависимость в ваш pom.xml:

<repositories>
    <repository>
        <id>conholdate-repo</id>
        <name>Conholdate Maven Repository</name>
        <url>https://repository.conholdate.com/repo/</url>
    </repository>
</repositories>

<dependency>
    <groupId>com.conholdate</groupId>
    <artifactId>conholdate-total</artifactId>
    <version>24.9</version>
    <type>pom</type>
</dependency>

Вы также можете скачать последние JAR‑файлы напрямую со страницы загрузки. С установленным SDK вы готовы начать преобразование Excel в JSON на Java.

Преобразование Excel в JSON на Java: пошаговое руководство

Шаг 1: Загрузите исходный документ Excel

Сначала укажите путь к исходному файлу XLSX и создайте экземпляр Conversion. Блок try‑with‑resources гарантирует правильное освобождение объекта конверсии.

String inputFile = "sample.xlsx";
try (Conversion conversion = new Conversion(inputFile)) {
    // conversion object ready
}

Шаг 2: Настройка параметров конвертации JSON

Создайте объект JsonConvertOptions и настройте параметры, такие как pretty‑print, включение заголовков, пользовательские форматы даты и чисел, а также размер пакета. Эти параметры контролируют, как преобразование Excel в JSON в Java формирует окончательный вывод.

JsonConvertOptions jsonOptions = new JsonConvertOptions();
jsonOptions.setPrettyPrint(true);
jsonOptions.setIncludeHeaders(true);
jsonOptions.setDateFormat(JsonConvertOptions.DateFormat.CUSTOM);
jsonOptions.setCustomDateFormat("yyyy-MM-dd");
jsonOptions.setNumberFormat(JsonConvertOptions.NumberFormat.CUSTOM);
jsonOptions.setCustomNumberFormat("#.##");
jsonOptions.setRowsPerBatch(5000);

Шаг 3: Выполнить конвертацию

Укажите имя целевого JSON‑файла и вызовите метод convert. SDK обрабатывает преобразование внутри.

String outputFile = "sample.json";
conversion.convert(outputFile, jsonOptions);

Шаг 4: Обработка результата и очистка

После конвертации вывести подтверждающее сообщение. Любые исключения перехватываются и выводятся в консоль.

System.out.println("Conversion completed successfully. JSON saved to: " + outputFile);
} catch (Exception e) {
    System.err.println("Error during Excel to JSON conversion:");
    e.printStackTrace();
}

С помощью этих шагов конвертация Excel в JSON в Java завершена, и вы можете интегрировать сгенерированный JSON в ваш API или процесс обработки данных.

Полная реализация: Конвертация Excel в JSON на Java

В следующем примере демонстрируется, как выполнить преобразование Excel в JSON в Java с использованием Conholdate.Total for Java.

import com.groupdocs.conversion.Conversion;
import com.groupdocs.conversion.options.convert.JsonConvertOptions;
import com.groupdocs.conversion.options.convert.JsonConvertOptions.DateFormat;
import com.groupdocs.conversion.options.convert.JsonConvertOptions.NumberFormat;

public class ExcelToJsonDemo {
    public static void main(String[] args) {
        // Input Excel file (generic path)
        String inputFile = "sample.xlsx";
        // Desired JSON output file
        String outputFile = "sample.json";

// Perform conversion inside try‑with‑resources to ensure proper cleanup
        try (Conversion conversion = new Conversion(inputFile)) {

// Configure JSON conversion options
            JsonConvertOptions jsonOptions = new JsonConvertOptions();

// Pretty‑print the JSON for readability
            jsonOptions.setPrettyPrint(true);

// Include column headers as JSON property names
            jsonOptions.setIncludeHeaders(true);

// Define how dates and numbers should be formatted in the JSON output
            jsonOptions.setDateFormat(DateFormat.CUSTOM);
            jsonOptions.setCustomDateFormat("yyyy-MM-dd");
            jsonOptions.setNumberFormat(NumberFormat.CUSTOM);
            jsonOptions.setCustomNumberFormat("#.##");

// Optional performance tweak: limit rows processed per batch (useful for very large sheets)
            jsonOptions.setRowsPerBatch(5000);

// Execute the conversion
            conversion.convert(outputFile, jsonOptions);

System.out.println("Conversion completed successfully. JSON saved to: " + outputFile);
        } catch (Exception e) {
            // Basic error handling – in production code you might want more sophisticated logging
            System.err.println("Error during Excel to JSON conversion:");
            e.printStackTrace();
        }
    }
}

Примечание: Этот пример кода демонстрирует основную функциональность. Прежде чем использовать его в вашем проекте, убедитесь, что обновили все пути к файлам и значения конфигурации в соответствии с вашей реальной средой, проверьте, что все необходимые зависимости правильно установлены, и тщательно протестируйте в вашей среде разработки. Если вы столкнётесь с какими‑либо проблемами, обратитесь к официальной документации или свяжитесь с командой поддержки для получения помощи.

Параметры и настройки конвертации

SDK предлагает несколько вариантов настройки вывода JSON:

  • Pretty Print - Улучшает читаемость, добавляя отступы.
    jsonOptions.setPrettyPrint(true);
    
  • Include Headers - Использует первую строку листа как имена свойств.
    setIncludeHeaders(true) (см. справка API).
  • Custom Date Format - Определите шаблон даты, например, "yyyy-MM-dd".
    setCustomDateFormat("yyyy-MM-dd").
  • Custom Number Format - Управляйте точностью чисел, например, "#.##".
    setCustomNumberFormat("#.##").

Настройка этих параметров позволяет согласовать сгенерированный JSON с ожиданиями downstream‑сервисов или баз данных.

Заключение

Теперь у вас есть работающая конверсия Excel в JSON в реализации на Java, основанная на Conholdate.Total for Java. SDK выполняет большую часть работы, а настраиваемые параметры дают вам контроль над форматированием и производительностью. Не забудьте получить правильную лицензию для использования в продакшене; вы можете запросить страницу временной лицензии для оценки библиотеки или ознакомиться с полной страницей цен для коммерческих условий. Приятного кодинга!

Часто задаваемые вопросы

  • Как выполнить преобразование Excel в JSON в Java с Conholdate.Total?
    Используйте класс Conversion вместе с JsonConvertOptions, как показано в примере кода. SDK абстрагирует работу с файлами и предоставляет единственный вызов convert.

  • Могу ли я настроить форматы даты и чисел при конвертации Excel в JSON на Java?
    Да. Методы setCustomDateFormat и setCustomNumberFormat позволяют определить шаблоны, соответствующие ожиданиям вашей целевой системы.

  • Какие варианты лицензирования доступны для Conholdate.Total for Java?
    Вы можете получить временную оценочную лицензию со страницы временной лицензии или приобрести полную лицензию через страницу ценообразования.

  • Поддерживается ли пакетная обработка больших файлов Excel?
    Параметр setRowsPerBatch позволяет обрабатывать листы в частях, что идеально подходит для сценариев пакетного преобразования.

Подробнее