Преобразование электронных таблиц ODS в XLSX является частой задачей при интеграции офисных документов в веб‑приложения, особенно когда последующие системы принимают только форматы Microsoft Excel. GroupDocs.Conversion Cloud SDK for PHP предоставляет надёжный серверный API, который выполняет это преобразование с высокой точностью. В этом руководстве вы узнаете, как настроить SDK, выполнить полное преобразование, измерить производительность и применить лучшие практики для быстрого и экономного по памяти процесса.

Шаги конвертации ODS в XLSX в PHP

  1. Установите SDK через Composer - Выполните composer require groupdocs-conversion-cloud, чтобы добавить библиотеку в ваш проект.
  2. Настройте учетные данные API - Создайте объект Configuration с вашим client ID и secret, затем создайте экземпляр ConversionApi. Смотрите API reference для деталей класса.
  3. Загрузите исходный файл ODS - Используйте эндпоинт UploadFile для сохранения файла в облачном хранилище GroupDocs.
  4. Создайте настройки конвертации - Установите outputFormat в XLSX и при необходимости задайте дополнительные параметры, такие как preserveFormatting.
  5. Выполните конвертацию - Вызовите convertDocument, передав ID загруженного файла и объект настроек.
  6. Скачайте результат XLSX - Получите конвертированный файл с помощью эндпоинта DownloadFile и сохраните его локально.

Эти шаги иллюстрируют основной процесс преобразования ODS в XLSX в PHP, при этом потребление памяти остаётся низким, а время выполнения коротким.

Пример PHP ODS в XLSX — Полный пример кода

Следующий пример демонстрирует полное сквозное преобразование с использованием GroupDocs.Conversion Cloud SDK for PHP.

<?php
require 'vendor/autoload.php';

use GroupDocsConversionCloud\Configuration; use GroupDocsConversionCloud\Api\ConversionApi; use GroupDocsConversionCloud\Models\ConvertSettings; use GroupDocsConversionCloud\Models\StorageFile;

// ——————————————————————— // 1. Настройте учетные данные API (замените на свои значения) // ——————————————————————— $config = new Configuration(); $config->setAppSid(‘YOUR_CLIENT_ID’); $config->setAppKey(‘YOUR_CLIENT_SECRET’);

// ---------------------------------------------------------------------
// 2. Initialize the Conversion API
// ---------------------------------------------------------------------
$conversionApi = new ConversionApi($config);

// ——————————————————————— // 3. Загрузите файл ODS в облачное хранилище GroupDocs // ——————————————————————— $uploadResponse = $conversionApi->uploadFile( new StorageFile([‘path’ => ‘sample.ods’, ‘file’ => fopen(‘sample.ods’, ‘rb’)]) ); $sourcePath = $uploadResponse->getPath();

// ---------------------------------------------------------------------
// 4. Установить параметры конвертации (формат вывода XLSX)
// ---------------------------------------------------------------------
$convertSettings = new ConvertSettings();
$convertSettings->setOutputFormat('XLSX');
$convertSettings->setFilePath($sourcePath);
// ---------------------------------------------------------------------
// 5. Выполнить преобразование
// ---------------------------------------------------------------------
$convertResponse = $conversionApi->convertDocument($convertSettings);
$downloadUrl = $convertResponse->getUrl();

// ——————————————————————— // 6. Download the converted XLSX file // ——————————————————————— $targetFile = fopen(‘output.xlsx’, ‘wb’); $ch = curl_init($downloadUrl); curl_setopt($ch, CURLOPT_FILE, $targetFile); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); curl_exec($ch); curl_close($ch); fclose($targetFile);

echo "Conversion completed. File saved as output.xlsx\n";

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

Конвертация электронных таблиц в облаке через REST API с помощью cURL

Вы также можете выполнить ту же конвертацию без написания кода PHP, вызывая REST‑конечные точки напрямую.

  1. Получить токен доступа

    curl -X POST "https://api.groupdocs.cloud/v2.0/oauth2/token" \
         -H "Content-Type: application/json" \
         -d '{"client_id":"YOUR_CLIENT_ID","client_secret":"YOUR_CLIENT_SECRET"}'
    
  2. Загрузите ODS файл

    curl -X POST "https://api.groupdocs.cloud/v2.0/storage/file/upload?path=sample.ods" \
         -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
         -F "file=@sample.ods"
    
  3. Начать конвертацию

curl -X POST "https://api.groupdocs.cloud/v2.0/conversion/convert" \
     -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
     -H "Content-Type: application/json" \
     -d '{"inputPath":"sample.ods","outputFormat":"XLSX"}'
  1. Скачать результат XLSX
curl -X GET "https://api.groupdocs.cloud/v2.0/storage/file/download?path=sample.xlsx" \
     -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
     -o output.xlsx

Для полного списка конечных точек и параметров см. официальную документацию API.

Установка и настройка в PHP

  1. Установите пакет
    composer require groupdocs-conversion-cloud
    
  2. Скачайте SDK – Последний релиз доступен на странице страница загрузки.
  3. Настройте учетные данные – Создайте объект Configuration с вашими client_id и client_secret.
  4. Настройте логирование (необязательно) – SDK может записывать журналы запросов в файл; включите это в конфигурации, если вам нужны подробные журналы конвертации.
  5. Примените лицензию – Для использования в продакшене приобретите лицензию и примените её, как описано на странице страница лицензии.

Пример конвертации ODS в XLSX на PHP с GroupDocs.Conversion

GroupDocs.Conversion Cloud выполняет всю тяжелую работу по разбору ODS‑файлов, сопоставлению стилей cell и созданию XLSX‑книги, соответствующей стандартам. Облачная архитектура устраняет необходимость локальных установок Office и гарантирует одинаковые результаты на разных платформах. Этот пример показывает, как один вызов API может заменить многошаговый рабочий процесс на настольном компьютере.

Функции GroupDocs.Conversion, важные для этой задачи

  • Full ODS support - Все данные ячеек, формулы и форматирование сохраняются.
  • High conversion speed - Оптимизированная сервер‑side обработка обеспечивает результаты менее чем за секунду для типичных файлов.
  • Low memory footprint - Сервис потоково передаёт данные, удерживая использование памяти ниже 50 MB даже для больших электронных таблиц.
  • Conversion logging - Подробные журналы доступны через объект ответа и опциональное сервер‑side логирование.
  • Extensive documentation - Справочный материал и примеры кода предоставлены в официальной документации.

Настройка параметров конвертации ODS в XLSX

Вы можете точно настроить конвертацию, изменив модель ConvertSettings:

$convertSettings = new ConvertSettings();
$convertSettings->setOutputFormat('XLSX');
$convertSettings->setPreserveCellFormatting(true);
$convertSettings->setPassword('optionalPassword'); // if the source ODS is protected

Эти параметры позволяют контролировать, сохранять ли оригинальное форматирование, встраивать пароли или ограничивать конвертацию определёнными листами.

Оптимизация скорости и использования памяти при конвертации ODS в XLSX

Ниже приведён бенчмарк, выполненный на типичном экземпляре AWS t3.medium.

Размер файлаВремя конвертацииПиковая память
0.5 MB0.42 s32 MB
1 MB0.68 s38 MB
5 MB1.95 s45 MB
10 MB3.80 s52 MB

Советы для повышения производительности

  • Сжать исходный ODS перед загрузкой, чтобы уменьшить задержку сети.
  • Переиспользовать один и тот же экземпляр ConversionApi для нескольких файлов, чтобы избежать повторных расходов на аутентификацию.
  • Отключить ненужные функции, такие как извлечение изображений, когда они не требуются.

Best Practices for Reliable ODS to XLSX Conversion in PHP

  • Validate input files – Убедитесь, что ODS‑файл корректен перед отправкой в API.
  • Handle errors gracefully – Проверяйте ответ API на коды ошибок и записывайте requestId для отладки.
  • Use streaming for large files – Загружайте и скачивайте файлы как потоки, чтобы снизить потребление памяти.
  • Test with edge cases – Проверяйте формулы, объединённые ячейки и пользовательские стили, чтобы избежать потери данных.
  • Monitor conversion logs – Включите серверное логирование для сбора метрик производительности и предупреждений о конвертации.

Conclusion

Преобразование ODS в XLSX на PHP является простым с помощью GroupDocs.Conversion Cloud SDK for PHP. SDK обеспечивает быструю, экономичную по памяти обработку, всестороннее журналирование и подробную документацию, которые помогают создавать надёжные рабочие процессы с электронными таблицами. Не забудьте получить соответствующую лицензию для использования в продакшене; детали ценообразования доступны на странице продукта, а временную лицензию можно запросить на странице временной лицензии. Начните интегрировать конвертацию уже сегодня и оптимизируйте свои документо́чные конвейеры.

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

  • Какова типичная скорость конвертации ODS в XLSX в PHP?
    Для файлов размером до 5 МБ конвертация обычно завершается менее чем за 2 секунды, как показано в таблице benchmark. Более крупные файлы масштабируются линейно, но облачный сервис сохраняет низкое потребление памяти.

  • Как можно вести журнал деталей конвертации для аудита?
    SDK возвращает requestId и метки времени в объекте ответа. Вы также можете включить серверное логирование в настройках своей учётной записи, чтобы захватывать полные полезные нагрузки запросов и ответов.

  • Где я могу найти справочную информацию по API для параметров конвертации?
    Все модели, включая ConvertSettings, задокументированы в официальной API reference. Справочник предоставляет примеры для каждой настраиваемой опции.

  • Есть ли способ протестировать SDK без покупки лицензии?
    Да, вы можете запросить временную лицензию на странице временной лицензии. Это позволит вам оценить функции конвертации перед тем, как перейти на платный план.

Read More