将 ODS 电子表格转换为 XLSX 格式是将开源数据与以 Microsoft 为中心的工作流集成时的常见需求。 GroupDocs.Conversion Cloud SDK for Python 提供了强大的基于云的 API,无需本地 Office 安装即可处理此任务。在本教程中,您将逐步学习如何在 Python 中执行 ODS 到 XLSX 的转换,查看完整的工作示例,探索等效的 cURL 调用,并发现可靠转换的最佳实践。

ODS 到 XLSX 转换(Python) - 完整代码示例

以下示例演示如何使用 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. 开始转换 to 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 - 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 - 在生成的工作簿中显示网格线。

在将 options 对象分配给 settings.options 之前,请先调整这些属性。

结论

本指南带您使用 GroupDocs.Conversion Cloud SDK for Python 在 Python 中完成 ODS 到 XLSX 的转换。您看到了完整的代码示例,学习了如何使用 cURL 执行相同的操作,并探讨了帮助您根据需求定制转换的配置选项。该 SDK 是商业产品;定价详情可在产品页面查看,您还可以从 临时许可证页面 获取用于评估的临时许可证。立即开始将电子表格转换集成到您的应用程序中,享受无缝、无需 Office 的处理。

FAQs

  • 在 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。

阅读更多