將 ODS 試算表轉換為 XLSX 是在將辦公文件整合到 Web 應用程式時的常見需求,尤其是下游系統僅接受 Microsoft Excel 格式時。GroupDocs.Conversion Cloud SDK for PHP 提供可靠的伺服器端 API,能以高保真度處理此轉換。在本指南中,您將學習如何設定 SDK、執行完整的轉換、進行效能基準測試,並套用快速且記憶體效率高的最佳實踐。
在 PHP 中將 ODS 轉換為 XLSX 的步驟
- 透過 Composer 安裝 SDK - 執行
composer require groupdocs-conversion-cloud以將此函式庫加入您的專案。 - 設定 API 憑證 - 建立包含您的 client ID 與 secret 的
Configuration物件,然後實例化ConversionApi。請參閱 API 參考 以了解類別細節。 - 上傳 ODS 原始檔案 - 使用
UploadFile端點將檔案儲存至 GroupDocs 雲端儲存。 - 建立轉換設定 - 將
outputFormat設為XLSX,並調整任何可選參數,例如preserveFormatting。 - 執行轉換 - 使用上傳的檔案 ID 和設定物件呼叫
convertDocument。 - 下載 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"}'
上傳 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"開始轉換
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"}'下載 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 中的安裝與設定
- 安裝套件
composer require groupdocs-conversion-cloud - 下載 SDK - 最新版本可在下載頁面取得。
- 配置憑證 - 使用您的
client_id和client_secret建立Configuration物件。 - 設定日誌(可選) - SDK 可以將請求日誌寫入檔案;如果需要詳細的轉換日誌,請在配置中啟用它。
- 套用授權 - 若在生產環境使用,請購買授權並依照授權頁面的說明套用。
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 MB | 0.42 s | 32 MB |
| 1 MB | 0.68 s | 38 MB |
| 5 MB | 1.95 s | 45 MB |
| 10 MB | 3.80 s | 52 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?
是的,您可以從臨時授權頁面請求臨時授權。這讓您在決定付費方案之前評估轉換功能。
