ODS 試算表轉換為 XLSX 是在將辦公文件整合到 Web 應用程式時的常見需求,尤其是下游系統僅接受 Microsoft Excel 格式時。GroupDocs.Conversion Cloud SDK for PHP 提供可靠的伺服器端 API,能以高保真度處理此轉換。在本指南中,您將學習如何設定 SDK、執行完整的轉換、進行效能基準測試,並套用快速且記憶體效率高的最佳實踐。

PHP 中將 ODS 轉換為 XLSX 的步驟

  1. 透過 Composer 安裝 SDK - 執行 composer require groupdocs-conversion-cloud 以將此函式庫加入您的專案。
  2. 設定 API 憑證 - 建立包含您的 client ID 與 secret 的 Configuration 物件,然後實例化 ConversionApi。請參閱 API 參考 以了解類別細節。
  3. 上傳 ODS 原始檔案 - 使用 UploadFile 端點將檔案儲存至 GroupDocs 雲端儲存。
  4. 建立轉換設定 - 將 outputFormat 設為 XLSX,並調整任何可選參數,例如 preserveFormatting
  5. 執行轉換 - 使用上傳的檔案 ID 和設定物件呼叫 convertDocument
  6. 下載 XLSX 結果 - 透過 DownloadFile 端點取得已轉換的檔案,並將其儲存至本機。

以下步驟說明了核心 ODS to XLSX conversion in PHP 工作流程,同時保持低記憶體使用量和短執行時間。

PHP ODS to 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. Configure API credentials (replace with your own values) // ——————————————————————— $config = new Configuration(); $config->setAppSid(‘YOUR_CLIENT_ID’); $config->setAppKey(‘YOUR_CLIENT_SECRET’);

// ——————————————————————— // 2. 初始化 Conversion API // ——————————————————————— $conversionApi = new ConversionApi($config);

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

// ---------------------------------------------------------------------
// 4. Set conversion options (output format XLSX)
// ---------------------------------------------------------------------
$convertSettings = new ConvertSettings();
$convertSettings->setOutputFormat('XLSX');
$convertSettings->setFilePath($sourcePath);

// ——————————————————————— // 5. Perform the conversion // ——————————————————————— $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”;

<!--[COMPLETE_CODE_SNIPPET_END]-->

> **注意:** 此代碼示例演示了核心功能。在將其用於您的項目之前,請確保更新文件路徑(`sample.ods`、`output.xlsx`)以匹配實際文件位置,驗證所有必需的依賴項已正確安裝,並在開發環境中徹底測試。如果遇到任何問題,請參閱[官方文檔](https://docs.groupdocs.cloud/conversion/)或聯繫[支持團隊](https://forum.groupdocs.cloud/c/conversion/11)尋求幫助。

## 使用 cURL 的雲端試算表轉換 via REST API
您也可以透過直接呼叫 REST 端點來執行相同的轉換,而無需編寫 PHP 程式碼。

1. **取得存取令牌**  
   <!--[CODE_SNIPPET_START]-->
   ```bash
   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"}'
  1. 上傳 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"
    
  2. 開始轉換

    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"}'
    
  3. 下載 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. 配置憑證 - 使用您的 client_idclient_secret 建立 Configuration 物件。
  4. 設定日誌(可選) - SDK 可以將請求日誌寫入檔案;如果需要詳細的轉換日誌,請在配置中啟用它。
  5. 套用授權 - 若在生產環境使用,請購買授權並依照授權頁面的說明套用。

PHP 中使用 GroupDocs.Conversion 進行 ODS 轉 XLSX 的示例

GroupDocs.Conversion Cloud 負責處理解析 ODS 檔案、映射 cell 樣式以及產生符合標準的 XLSX 工作簿等繁重工作。基於雲端的架構消除了對本機 Office 安裝的需求,並確保在各平台上獲得一致的結果。此範例展示了單一 API 呼叫如何取代多步驟的桌面工作流程。

GroupDocs.Conversion Features That Matter For This Task

  • Full ODS support - 所有儲存格資料、公式與格式均會被保留。
  • High conversion speed - 優化的伺服器端處理可在典型檔案上提供 [sub]‑秒級結果。
  • Low memory footprint - 服務以串流方式處理資料,即使是大型試算表,記憶體使用量也保持在 50 MB 以下。
  • Conversion logging - 詳細日誌可透過回應物件取得,亦可選擇伺服器端日誌。
  • 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 實例,以避免重複的驗證開銷。
  • 在不需要時停用不必要的功能,例如圖像提取。

在 PHP 中可靠的 ODS 轉 XLSX 轉換最佳實踐

  • 驗證輸入檔案 - 確保 ODS 檔案格式正確,然後再發送至 API。
  • 優雅地處理錯誤 - 檢查 API 回應的錯誤代碼,並記錄 requestId 以便排除故障。
  • 對大型檔案使用串流 - 以串流方式上傳和下載檔案,降低記憶體使用量。
  • 使用邊緣案例測試 - 驗證公式、合併儲存格和自訂樣式,以避免資料遺失。
  • 監控轉換日誌 - 啟用伺服器端日誌以捕獲效能指標和任何轉換警告。

結論

在 PHP 中將 ODS 轉換為 XLSX 非常簡單,只需使用 GroupDocs.Conversion Cloud SDK for PHP。該 SDK 提供快速、記憶體高效的處理、完整的日誌記錄以及詳細的文件說明,幫助您構建穩健的試算表工作流程。請務必為生產環境取得適當的授權;產品頁面上提供了價格細節,您亦可從 臨時許可證頁面 申請臨時授權。立即開始整合轉換功能,簡化您的文件管道。

常見問題

  • 在 PHP 中 ODS 轉換為 XLSX 的典型速度是多少?
    對於大小不超過 5 MB 的檔案,轉換通常在 2 秒內完成,如基準表所示。較大的檔案會線性擴展,但雲服務保持低記憶體佔用。

  • 如何記錄轉換詳細資訊以進行稽核?
    SDK 會在回應物件中返回 requestId 和時間戳記。您也可以在帳戶設定中啟用伺服器端日誌,以捕獲完整的請求和回應有效負載。

  • 我可以在哪裡找到轉換設定的 API 參考?
    所有模型,包括 ConvertSettings,都在官方的 API 參考 中有文件說明。該參考提供每個可配置選項的範例。

  • 是否有辦法在未購買授權的情況下測試 SDK?
    是的,您可以從臨時授權頁面請求臨時授權。這讓您在決定付費方案之前評估轉換功能。

Read More