將 ODS 試算表轉換為 XLSX 格式是將開源資料與以 Microsoft 為中心的工作流程整合時的常見需求。GroupDocs.Conversion Cloud SDK for Python 提供了強大的雲端 API,無需本機安裝 Office 即可處理此任務。在本教學中,您將一步一步學習如何在 Python 中執行 ODS 到 XLSX 的轉換,查看完整的工作範例,探索相應的 cURL 呼叫,並發現可靠轉換的最佳實踐。

Python 中 ODS 轉換為 XLSX - 完整程式碼範例

以下範例示範如何使用 Python SDK 將儲存在 GroupDocs Cloud 中的 ODS 檔案轉換為 XLSX。

import sys
from groupdocs_conversion_cloud import (
    Configuration,
    ApiClient,
    ConvertApi,
    ConvertSettings,
    FileInfo,
    XlsxConvertOptions,
    ConversionResult
)

def main():
    # -------------------- Configuration --------------------
    config = Configuration()
    config.client_id = "YOUR_CLIENT_ID"
    config.client_secret = "YOUR_CLIENT_SECRET"

api_client = ApiClient(config)
    convert_api = ConvertApi(api_client)

# -------------------- Input File --------------------
    input_file = FileInfo()
    input_file.file_path = "input.ods"          # Path in the storage
    # input_file.storage_name = "MyStorage"    # Optional: specify storage name

# -------------------- Conversion Options --------------------
    xlsx_options = XlsxConvertOptions()
    # Example: set specific options if needed
    # xlsx_options.password = "myPassword"

# -------------------- Conversion Settings --------------------
    settings = ConvertSettings()
    settings.file_info = input_file
    settings.format = "xlsx"
    settings.output_path = "output.xlsx"
    settings.options = xlsx_options

# -------------------- Perform Conversion --------------------
    try:
        result: ConversionResult = convert_api.convert(settings)
        print(f"Conversion successful. Output file stored at: {result.path}")
    except Exception as e:
        print(f"Error during conversion: {e}", file=sys.stderr)

if __name__ == "__main__":
    main()

注意: 此代碼示例演示了核心功能。在將其用於您的項目之前,請確保更新所有文件路徑和配置值以匹配實際環境,驗證所有必需的依賴項已正確安裝,並在開發環境中徹底測試。如果遇到任何問題,請參閱官方文檔或聯繫支援團隊尋求協助。

使用 cURL 和 REST API 將 ODS 轉換為 XLSX

以下是一個使用原始 HTTP 呼叫執行相同轉換的快速演練。請將佔位符值替換為您的實際憑證。

  1. 取得存取權杖 - 使用您的客戶端 ID 和密鑰進行驗證。
curl -X POST "https://api.groupdocs.cloud/v2.0/oauth/token" \
     -H "Content-Type: application/json" \
     -d '{
           "grant_type": "client_credentials",
           "client_id": "YOUR_CLIENT_ID",
           "client_secret": "YOUR_CLIENT_SECRET"
         }'
  1. 上傳 ODS 源文件 到您的儲存空間。
curl -X PUT "https://api.groupdocs.cloud/v2.0/storage/file/input.ods" \
     -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
     -H "Content-Type: application/octet-stream" \
     --data-binary @input.ods
  1. 開始轉換 至 XLSX.
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.ods" },
           "format": "xlsx",
           "outputPath": "output.xlsx",
           "options": {}
         }'
  1. 下載已轉換的 XLSX 檔案
curl -X GET "https://api.groupdocs.cloud/v2.0/storage/file/output.xlsx" \
     -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
     -o output.xlsx

欲取得參數的完整清單及其他選項,請參閱官方 API 文件。

了解 Python 中 ODS 到 XLSX 轉換邏輯

SDK 工作流程可以分解為幾個邏輯步驟:

  1. 配置 - Configuration() 保存您的客戶端憑證。
config = Configuration()
config.client_id = "YOUR_CLIENT_ID"
config.client_secret = "YOUR_CLIENT_SECRET"
  1. API 客戶端創建 - ApiClient(config) 建立一個低層級的客戶端,用於較高層級的服務。
api_client = ApiClient(config)
  1. Convert API 實例化 - ConvertApi(api_client) 提供對轉換操作的存取。
convert_api = ConvertApi(api_client)
  1. FileInfo 設定 - FileInfo() 指向 GroupDocs 儲存中的來源 ODS 檔案。
input_file = FileInfo()
input_file.file_path = "input.ods"
  1. Conversion Settings - ConvertSettings() 將來源檔案、目標格式、輸出路徑以及任何特定格式的選項結合在一起。
settings = ConvertSettings()
settings.file_info = input_file
settings.format = "xlsx"
settings.output_path = "output.xlsx"
settings.options = xlsx_options
  1. 執行轉換 - convert_api.convert(settings) 發送請求並返回一個 ConversionResult,其中包含生成的 XLSX 文件的路徑。
result = convert_api.convert(settings)

每個組件直接映射到 REST 端點,允許您在 SDK 與原始 HTTP 呼叫之間切換,而無需更改整體邏輯。

ODS 轉換為 XLSX 的先決條件和設定

在開始之前,請確保您已具備:

  • 已安裝 Python 3.7 或更新版本。
  • 具備 client ID 與 client secret 的 GroupDocs Cloud 帳戶。
  • 可存取 ODS 檔案所在的 GroupDocs 儲存空間。

通過 pip 安裝 SDK:

pip install groupdocs-conversion-cloud

您也可以從發行頁面手動下載套件。安裝完成後,請按照程式碼範例中所示配置您的憑證。

轉換選項:微調 ODS 到 XLSX 設定

XlsxConvertOptions 類別讓您微調輸出。在範例中我們使用預設選項,但您可以啟用諸如密碼保護等功能:

xlsx_options = XlsxConvertOptions()
# xlsx_options.password = "myPassword"

其他有用的設定(請參閱 API 參考)包括:

  • page_range - 僅轉換特定工作表。
  • preserve_formulas - 保持 Excel 公式完整。
  • include_gridlines - 在生成的工作簿中顯示網格線。

在將選項物件指派給 settings.options 之前,先調整這些屬性。

結論

本指南帶您使用 GroupDocs.Conversion Cloud SDK for Python 在 Python 中完成 ODS 到 XLSX 的轉換。您看到了完整的程式碼範例,學會了如何使用 cURL 執行相同的操作,並探索了可協助您根據需求調整轉換的設定選項。此 SDK 為商業產品;價格資訊可在產品頁面上查閱,您亦可從 臨時授權頁面 取得評估用的臨時授權。立即開始將試算表轉換整合到您的應用程式中,享受無縫且無需 Office‑free 的處理體驗。

常見問題

  • 在 Python 中,ODS 轉換為 XLSX 的最佳實踐如何提升可靠性?
    使用雲端 SDK 以避免本機 Office 依賴,串流檔案以降低記憶體使用,並始終指定明確的輸出路徑。SDK 也會自動重試暫時性的網路錯誤。

  • 在比較 Python 中 ODS 與 XLSX 轉換庫時,我應該考慮哪些因素?
    GroupDocs.Conversion Cloud 提供專用端點、廣泛的格式支援以及內建的安全功能,這些是許多通用庫所缺乏的。請查看 庫比較頁面 以獲取詳細的功能矩陣。

  • 是否有辦法在 Python 中監控 ODS 到 XLSX 轉換的效能?
    啟用 SDK 日誌記錄或使用 API 的 X-RateLimit-Remaining 標頭來追蹤請求延遲和吞吐量。對於大型批次,請考慮使用非同步轉換以提升整體效能。

  • 我可以在未安裝 Microsoft Office 的情況下執行 ODS 轉換為 XLSX 嗎?
    是的。雲端服務在 GroupDocs 伺服器上完全執行轉換,因此您的機器上不需要安裝 Office。

Read More