Konwertowanie arkuszy kalkulacyjnych ODS na XLSX jest częstym wymogiem przy integrowaniu dokumentów biurowych w aplikacjach internetowych, szczególnie gdy systemy downstream akceptują wyłącznie formaty Microsoft Excel. GroupDocs.Conversion Cloud SDK for PHP zapewnia niezawodne API po stronie serwera, które obsługuje tę transformację z wysoką wiernością. W tym przewodniku dowiesz się, jak skonfigurować SDK, przeprowadzić pełną konwersję, zmierzyć wydajność oraz zastosować najlepsze praktyki dla szybkiego i oszczędnego pod względem pamięci przetwarzania.

Kroki konwersji ODS do XLSX w PHP

  1. Zainstaluj SDK za pomocą Composer - Uruchom composer require groupdocs-conversion-cloud, aby dodać bibliotekę do swojego projektu.
  2. Skonfiguruj poświadczenia API - Utwórz obiekt Configuration z identyfikatorem klienta i sekretem, a następnie zainicjalizuj ConversionApi. Zobacz odniesienie API po szczegóły klasy.
  3. Prześlij plik źródłowy ODS - Użyj punktu końcowego UploadFile, aby zapisać plik w chmurze GroupDocs.
  4. Utwórz ustawienia konwersji - Ustaw outputFormat na XLSX i dostosuj opcjonalne parametry, takie jak preserveFormatting.
  5. Wykonaj konwersję - Wywołaj convertDocument z identyfikatorem przesłanego pliku oraz obiektem ustawień.
  6. Pobierz wynikowy plik XLSX - Pobierz skonwertowany plik przy użyciu punktu końcowego DownloadFile i zapisz go lokalnie.

Te kroki ilustrują główny przepływ konwersji ODS do XLSX w PHP, jednocześnie utrzymując niskie zużycie pamięci i krótki czas wykonania.

Przykład PHP ODS do XLSX – Pełny kod

Poniższy przykład demonstruje pełną konwersję end‑to‑end przy użyciu GroupDocs.Conversion Cloud SDK dla PHP.

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

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

// ---------------------------------------------------------------------
// 1. Skonfiguruj poświadczenia API (zastąp własnymi wartościami)
// ---------------------------------------------------------------------
$config = new Configuration();
$config->setAppSid('YOUR_CLIENT_ID');
$config->setAppKey('YOUR_CLIENT_SECRET');

// ——————————————————————— // 2. Zainicjalizuj Conversion API // ——————————————————————— $conversionApi = new ConversionApi($config);

// ——————————————————————— // 3. Upload the ODS file to GroupDocs cloud storage // ——————————————————————— $uploadResponse = $conversionApi->uploadFile( new StorageFile([‘path’ => ‘sample.ods’, ‘file’ => fopen(‘sample.ods’, ‘rb’)]) ); $sourcePath = $uploadResponse->getPath();

// ---------------------------------------------------------------------
// 4. Ustaw opcje konwersji (format wyjściowy XLSX)
// ---------------------------------------------------------------------
$convertSettings = new ConvertSettings();
$convertSettings->setOutputFormat('XLSX');
$convertSettings->setFilePath($sourcePath);

// ——————————————————————— // 5. Wykonaj konwersję // ——————————————————————— $convertResponse = $conversionApi->convertDocument($convertSettings); $downloadUrl = $convertResponse->getUrl();

// ——————————————————————— // 6. Pobierz przekonwertowany plik XLSX // ——————————————————————— $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";

Uwaga: Ten przykład kodu demonstruje podstawową funkcjonalność. Przed użyciem go w swoim projekcie upewnij się, że zaktualizowałeś ścieżki do plików (sample.ods, output.xlsx), aby odpowiadały rzeczywistym lokalizacjom, sprawdź, czy wszystkie wymagane zależności są poprawnie zainstalowane, oraz dokładnie przetestuj w środowisku deweloperskim. Jeśli napotkasz problemy, zapoznaj się z oficjalną dokumentacją lub skontaktuj się z zespołem wsparcia w celu uzyskania pomocy.

Konwersja arkuszy kalkulacyjnych w chmurze przy użyciu REST API i cURL

Możesz również wykonać tę samą konwersję bez pisania kodu PHP, wywołując bezpośrednio endpointy REST.

  1. Uzyskaj token dostępu

    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. Prześlij plik 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. Rozpocznij konwersję

    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"}'
    
  4. Pobierz wynik 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
    

Aby uzyskać pełną listę punktów końcowych i parametrów, zobacz oficjalną dokumentację API.

Instalacja i konfiguracja w PHP

  1. Zainstaluj pakiet
    composer require groupdocs-conversion-cloud
    
  2. Pobierz SDK - Najnowsze wydanie jest dostępne na stronie pobierania.
  3. Skonfiguruj poświadczenia - Utwórz obiekt Configuration z Twoim client_id i client_secret.
  4. Ustaw logowanie (opcjonalnie) - SDK może zapisywać logi żądań do pliku; włącz je w konfiguracji, jeśli potrzebujesz szczegółowych logów konwersji.
  5. Zastosuj licencję - W środowisku produkcyjnym zakup licencję i zastosuj ją zgodnie z opisem na stronie licencji.

Przykład konwersji ODS do XLSX w PHP z GroupDocs.Conversion

GroupDocs.Conversion Cloud zajmuje się ciężką pracą parsowania plików ODS, mapowaniem stylów cell oraz generowaniem arkusza XLSX zgodnego ze standardami. Architektura oparta na chmurze eliminuje potrzebę lokalnych instalacji Office i zapewnia spójne wyniki na różnych platformach. Ten przykład pokazuje, jak pojedyncze wywołanie API może zastąpić wieloetapowy proces desktopowy.

Funkcje GroupDocs.Conversion, które mają znaczenie dla tego zadania

  • Full ODS support - Wszystkie dane komórek, formuły i formatowanie są zachowane.
  • High conversion speed - Zoptymalizowane przetwarzanie po stronie serwera zapewnia wyniki w czasie krótszym niż sekunda dla typowych plików.
  • Low memory footprint - Usługa strumieniuje dane, utrzymując zużycie pamięci poniżej 50 MB nawet przy dużych arkuszach kalkulacyjnych.
  • Conversion logging - Szczegółowe logi są dostępne poprzez obiekt odpowiedzi oraz opcjonalne logowanie po stronie serwera.
  • Extensive documentation - Materiały referencyjne i przykłady kodu są dostępne w oficjalnej dokumentacji.

Konfigurowanie opcji konwersji z ODS do XLSX

Możesz precyzyjnie dostroić konwersję, dostosowując model ConvertSettings:

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

Te opcje pozwalają kontrolować, czy zachować oryginalne formatowanie, osadzić hasła lub ograniczyć konwersję do określonych arkuszy.

Optymalizacja prędkości konwersji ODS do XLSX i zużycia pamięci

Poniżej znajduje się benchmark przeprowadzony na typowej instancji AWS t3.medium.

Rozmiar plikuCzas konwersjiMaksymalna pamięć
0.5 MB0.42 s32 MB
1 MB0.68 s38 MB
5 MB1.95 s45 MB
10 MB3.80 s52 MB

Wskazówki dotyczące lepszej wydajności

  • Skompresuj źródłowy plik ODS przed przesłaniem, aby zmniejszyć opóźnienia sieciowe.
  • Ponownie używaj tej samej instancji ConversionApi dla wielu plików, aby uniknąć powtarzającego się obciążenia uwierzytelniania.
  • Wyłącz niepotrzebne funkcje, takie jak ekstrakcja obrazów, gdy nie są potrzebne.

Najlepsze praktyki zapewniające niezawodną konwersję ODS do XLSX w PHP

  • Waliduj pliki wejściowe - Upewnij się, że plik ODS jest poprawnie sformatowany przed wysłaniem go do API.
  • Obsługuj błędy w sposób elegancki - Sprawdź odpowiedź API pod kątem kodów błędów i zaloguj requestId w celu rozwiązywania problemów.
  • Używaj strumieniowania dla dużych plików - Przesyłaj i pobieraj pliki jako strumienie, aby utrzymać niskie zużycie pamięci.
  • Testuj przypadki brzegowe - Zweryfikuj formuły, scalone komórki i niestandardowe style, aby uniknąć utraty danych.
  • Monitoruj logi konwersji - Włącz logowanie po stronie serwera, aby rejestrować metryki wydajności i wszelkie ostrzeżenia dotyczące konwersji.

Podsumowanie

Konwersja ODS do XLSX w PHP jest prosta dzięki GroupDocs.Conversion Cloud SDK for PHP. SDK zapewnia szybkie, oszczędne pod względem pamięci przetwarzanie, kompleksowe logowanie oraz szczegółową dokumentację, które pomagają tworzyć solidne przepływy pracy z arkuszami kalkulacyjnymi. Pamiętaj, aby uzyskać odpowiednią licencję do użytku produkcyjnego; szczegóły cenowe są dostępne na stronie produktu, a tymczasową licencję można zamówić na stronie tymczasowej licencji. Rozpocznij integrację konwersji już dziś i usprawnij swoje przepływy dokumentów.

FAQ

  • Jaki jest typowy czas konwersji ODS do XLSX w PHP?
    Dla plików do 5 MB konwersja zazwyczaj kończy się w mniej niż 2 sekundy, jak pokazuje tabela benchmarkowa. Większe pliki skalują się liniowo, ale usługa w chmurze utrzymuje niski ślad pamięciowy.

  • Jak mogę rejestrować szczegóły konwersji w celu audytu?
    SDK zwraca requestId oraz znaczniki czasu w obiekcie odpowiedzi. Możesz także włączyć logowanie po stronie serwera w ustawieniach konta, aby przechwytywać pełne ładunki żądania i odpowiedzi.

  • Gdzie mogę znaleźć referencję API dla ustawień konwersji?
    Wszystkie modele, w tym ConvertSettings, są udokumentowane w oficjalnej referencji API. Referencja zawiera przykłady dla każdej konfigurowalnej opcji.

  • Czy istnieje sposób przetestowania SDK bez zakupu licencji?
    Tak, możesz poprosić o tymczasową licencję na stronie tymczasowej licencji. Pozwala to ocenić funkcje konwersji przed podjęciem decyzji o płatnym planie.

Czytaj więcej