Преобразование электронных таблиц 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позволяет обрабатывать листы в частях, что идеально подходит для сценариев пакетного преобразования.
