Преобразование HTML отчетов в электронные таблицы Excel часто требуется для Java‑ориентированных веб‑приложений, которым необходимо предоставлять пользователям возможность скачивать аналитические данные или счета. GroupDocs.Conversion Cloud SDK for Java предоставляет мощный API, который берет на себя тяжёлую работу по преобразованию форматов без необходимости установки локального Office. В этом руководстве вы увидите, как настроить SDK, написать код конвертации, а также вызвать тот же сервис через REST‑интерфейс с помощью cURL. К концу вы будете готовы внедрить преобразование HTML‑в‑XLSX в сервер, сервлет, приложение Spring Boot или любой многопоточный сервис Java.
Экспорт HTML-отчетов в XLSX на Java - Требования
Многие корпоративные порталы генерируют динамические HTML‑дашборды, которые пользователи хотят экспортировать в виде XLSX‑рабочих книг для офлайн‑анализа. Типичные требования включают:
- Доступ к исходному HTML, хранящемуся в облачном хранилище или генерируемому «на лету».
- Сохранение структуры таблиц, стилей cell и числовых форматов при конвертации.
- Возможность выполнять конвертацию на бекенд‑сервере, в контейнере сервлетов или внутри микросервиса без установки Microsoft Office.
Ручное копирование‑вставка или клиентские библиотеки не могут гарантировать согласованное форматирование, особенно при работе с большими отчётами или сценариями с высокой конкуренцией, такими как сервер преобразования HTML в XLSX на Java.
Использование GroupDocs.Conversion Cloud SDK for Java для удовлетворения потребностей экспорта
SDK предлагает облачный движок конвертации, который поддерживает HTML в качестве входных данных и XLSX в качестве выходных, устраняя необходимость в локальных компонентах Office. Ключевые возможности, соответствующие требованиям, включают:
- Облачная обработка - тяжелое преобразование выполняется на серверах GroupDocs, идеально подходит для сервлета преобразования HTML в XLSX на Java или веб‑приложения Spring Boot.
- Настраиваемые параметры - вы можете сохранять исходное форматирование, задавать имена листов и управлять типами данных ячеек через
XlsxConvertOptions. - Потокобезопасный клиент - подходит для многопоточного преобразования HTML в XLSX на Java, обеспечивая высокопроизводительные пакетные задания.
Для получения более подробной информации см. официальную документацию и справочник API.
Преобразование HTML в XLSX в Java: реализация
Установить GroupDocs.Conversion Cloud SDK
Добавьте SDK в ваш Maven‑проект:
<dependency>
<groupId>com.groupdocs</groupId>
<artifactId>groupdocs-conversion-cloud</artifactId>
<version>23.12</version>
</dependency>
Или выполните команду установки:
mvn install com.groupdocs:groupdocs-conversion-cloud
Initialize API Client
Создайте ApiClient с вашими учетными данными и создайте экземпляр ConversionApi.
import com.groupdocs.conversion.cloud.ApiClient;
import com.groupdocs.conversion.cloud.api.ConversionApi;
ApiClient apiClient = new ApiClient("YOUR_CLIENT_ID", "YOUR_CLIENT_SECRET");
ConversionApi conversionApi = new ConversionApi(apiClient);
Установить информацию о исходном файле
Укажите HTML‑файл, который находится в облачном хранилище по умолчанию.
import com.groupdocs.conversion.cloud.model.FileInfo;
FileInfo sourceFile = new FileInfo();
sourceFile.setFilePath("input.html"); // path in the cloud storage
sourceFile.setStorageName("DefaultStorage"); // optional
Настройте параметры конвертации XLSX
Настройте параметры, такие как сохранение исходного форматирования.
import com.groupdocs.conversion.cloud.model.XlsxConvertOptions;
XlsxConvertOptions xlsxOptions = new XlsxConvertOptions();
xlsxOptions.setPreserveOriginalFormatting(true);
Выполнить конвертацию и получить результат
Сформируйте запрос, выполните его и получите путь к выходному файлу.
import com.groupdocs.conversion.cloud.model.ConvertDocumentRequest;
import com.groupdocs.conversion.cloud.model.ConvertDocumentResponse;
ConvertDocumentRequest request = new ConvertDocumentRequest();
request.setFileInfo(sourceFile);
request.setFormat("xlsx"); // target format
request.setConvertOptions(xlsxOptions);
request.setOutputPath("output.xlsx"); // desired output path
try {
ConvertDocumentResponse response = conversionApi.convertDocument(request);
System.out.println("Conversion successful. Output file: " + response.getPath());
} catch (Exception e) {
System.err.println("Error during conversion: " + e.getMessage());
e.printStackTrace();
}
Преобразование HTML-документов в XLSX с помощью Java - Полный пример кода
Пример ниже собирает все части вместе в одном исполняемом классе.
import com.groupdocs.conversion.cloud.ApiClient;
import com.groupdocs.conversion.cloud.api.ConversionApi;
import com.groupdocs.conversion.cloud.model.ConvertDocumentRequest;
import com.groupdocs.conversion.cloud.model.ConvertDocumentResponse;
import com.groupdocs.conversion.cloud.model.FileInfo;
import com.groupdocs.conversion.cloud.model.XlsxConvertOptions;
public class HtmlToXlsxConversionExample {
public static void main(String[] args) {
// Initialize API client (replace with your actual credentials)
ApiClient apiClient = new ApiClient("YOUR_CLIENT_ID", "YOUR_CLIENT_SECRET");
ConversionApi conversionApi = new ConversionApi(apiClient);
// Define source HTML file information
FileInfo sourceFile = new FileInfo();
sourceFile.setFilePath("input.html"); // path in the cloud storage
sourceFile.setStorageName("DefaultStorage"); // optional, use default if omitted
// Set conversion options specific to XLSX output
XlsxConvertOptions xlsxOptions = new XlsxConvertOptions();
// Example option: preserve original formatting (if needed)
xlsxOptions.setPreserveOriginalFormatting(true);
// Build conversion request
ConvertDocumentRequest request = new ConvertDocumentRequest();
request.setFileInfo(sourceFile);
request.setFormat("xlsx"); // target format
request.setConvertOptions(xlsxOptions);
request.setOutputPath("output.xlsx"); // desired output path in cloud storage
try {
// Perform conversion
ConvertDocumentResponse response = conversionApi.convertDocument(request);
System.out.println("Conversion successful. Output file: " + response.getPath());
} catch (Exception e) {
System.err.println("Error during conversion: " + e.getMessage());
e.printStackTrace();
}
}
}
Примечание: Этот пример кода демонстрирует основную функциональность. Прежде чем использовать его в вашем проекте, убедитесь, что обновили пути к файлам (
input.html,output.xlsx) в соответствии с вашими реальными расположениями файлов, проверьте, что все необходимые зависимости правильно установлены, и тщательно протестируйте в вашей среде разработки. Если вы столкнётесь с какими‑либо проблемами, пожалуйста, обратитесь к официальной документации или свяжитесь с командой поддержки для получения помощи.
Выполнение экспорта XLSX из HTML с помощью REST и cURL
Вы можете выполнить ту же конвертацию без написания кода на Java, вызывая REST API напрямую. Поток действий повторяет шаги SDK: получить токен, загрузить HTML‑файл, запросить конвертацию и скачать результат в формате XLSX.
Получить токен доступа
curl -X POST "https://api.groupdocs.cloud/v2.0/connect/token" \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "grant_type=client_credentials&client_id=YOUR_CLIENT_ID&client_secret=YOUR_CLIENT_SECRET"
Загрузка исходного HTML
curl -X PUT "https://api.groupdocs.cloud/v2.0/storage/file/input.html" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: text/html" \
--data-binary @input.html
Запрос конвертации
curl -X POST "https://api.groupdocs.cloud/v2.0/conversion/convert" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"fileInfo": {
"filePath": "input.html",
"storageName": "DefaultStorage"
},
"outputPath": "output.xlsx",
"format": "xlsx",
"convertOptions": {
"preserveOriginalFormatting": true
}
}'
Скачать результат XLSX
curl -X GET "https://api.groupdocs.cloud/v2.0/storage/file/output.xlsx" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-o output.xlsx
Для полного списка параметров и дополнительных примеров см. официальную документацию API.
Заключение
Преобразование HTML в XLSX в Java становится простым, когда вы используете облачную обработку GroupDocs.Conversion Cloud SDK for Java. SDK скрывает сложности парсинга HTML‑таблиц, обработки стилей и генерации XLSX‑файла, соответствующего стандартам, что делает его идеальным для серверных, основанных на сервлетах, или Spring Boot веб‑приложений. Независимо от того, создаёте ли вы выделенный сервер конвертации, микросервис или многопоточный пакетный процессор, один и тот же API масштабируется под нагрузку. Не забудьте получить временную лицензию со страницы временной лицензии для оценки и ознакомьтесь с деталями ценообразования для использования в продакшене. С кодом и примерами cURL в этом руководстве вы теперь можете интегрировать экспорт HTML в XLSX в любое Java‑решение.
FAQs
Как выполнить конвертацию HTML в XLSX в Java‑servlet?
Создайте servlet, который принимает загруженный HTML‑файл, использует GroupDocs.Conversion Cloud SDK for Java для вызова convertDocument и записывает полученный поток XLSX обратно в HTTP‑ответ. Потокобезопасный клиент SDK хорошо работает внутри servlet‑контейнеров.
Можно ли запустить конвертацию HTML в XLSX как микросервис на Java?
Да. Упакуйте логику конвертации в легковесное приложение Spring Boot, откройте REST‑endpoint и позвольте SDK выполнить фактическое преобразование формата. Такой подход соответствует шаблону микросервиса конвертации HTML в XLSX на Java.
Могу ли я конвертировать HTML в XLSX в многопоточной Java‑приложении?
SDK разработан как потокобезопасный, поэтому вы можете запускать несколько задач конвертации параллельно, что полезно для серверов с высоким объёмом конвертации HTML в XLSX в сценариях Java.
Где я могу найти более подробную информацию о лицензировании GroupDocs.Conversion Cloud SDK for Java?
Посетите страницу временной лицензии, чтобы получить пробный ключ, и проверьте страницу с ценами для вариантов полной лицензии. Обе ссылки предоставлены на главной странице продукта.
