Combine varios archivos de Excel en uno usando la API REST en Python.

Es posible que deba fusionar varios archivos de Microsoft Excel en un solo archivo mediante programación. Al combinar archivos de Excel, puede generar fácilmente informes basados en los datos disponibles en varios archivos de Excel. Como desarrollador de Python, puede fusionar dos o más libros de trabajo de Excel u hojas de cálculo de diferentes archivos en un solo libro de trabajo. En este artículo, aprenderá cómo fusionar varios archivos de Excel en un solo archivo usando una API REST en Python.

En este artículo se tratarán los siguientes temas:

Excel Merger REST API y Python SDK

Para fusionar varios archivos XLSX, utilizaré la API Python SDK of GroupDocs.Merger Cloud. Le permite combinar, dividir, eliminar y reorganizar una sola página o una colección de páginas de formatos de documentos admitidos de Word, Excel, PowerPoint, Dibujos de Visio, PDF y HTML.

Puede instalar GroupDocs.Merger Cloud en su aplicación Python usando el siguiente comando en la consola:

pip install groupdocs-merger-cloud

Por favor, obtenga su ID de cliente y secreto del tablero antes de seguir los pasos mencionados. Una vez que tenga su ID y secreto, agregue el código como se muestra a continuación:

client_id = "659fe7da-715b-4744-a0f7-cf469a392b73"
client_secret = "b377c36cfa28fa69960ebac6b6e36421"

configuration = groupdocs_merger_cloud.Configuration(client_id, client_secret)
configuration.api_base_url = "https://api.groupdocs.cloud"
my_storage = ""

Combinar varios archivos de Excel usando la API REST en Python

Puede combinar dos o más archivos de Excel mediante programación en la nube siguiendo los pasos que se mencionan a continuación:

  • Subir the Excel files to the Cloud
  • Unir Multiple Excel files using Python
  • Descargar the merged file

Sube los archivos de Excel

En primer lugar, suba los archivos de Excel a la nube usando el ejemplo de código que se muestra a continuación:

# Crear una instancia de las API
file_api = groupdocs_merger_cloud.FileApi.from_config(configuration)
storage_api = groupdocs_merger_cloud.StorageApi.from_config(configuration)

# subir archivos de muestra
for filename in glob.iglob("C:\\Files\\upload\\*.xlsx", recursive=True):
    destFile = filename.replace("C:\\Files\\upload", "", 1)           
    # verificar si el archivo ya existe
    fileExistsResponse = storage_api.object_exists(groupdocs_merger_cloud.ObjectExistsRequest(destFile))
    if not fileExistsResponse.exists:
        # crear solicitud de carga de archivo
        request = groupdocs_merger_cloud.UploadFileRequest(destFile, filename)
        # subir archivo
        file_api.upload_file(request)

Como resultado, los archivos XLSX cargados estarán disponibles en la sección de archivos de su tablero en la nube.

Combinar varios archivos de Excel usando Python

Puede fusionar fácilmente varios archivos de Excel en un solo archivo mediante programación siguiendo los pasos que se mencionan a continuación:

  • Crear una instancia de DocumentApi
  • Crear el primer JoinItem
  • Proporcione la ruta del archivo de entrada para el primer JoinItem en FileInfo
  • Crea el segundo JoinItem
  • Proporcione la ruta del archivo de entrada para el segundo JoinItem en FileInfo
  • Opcionalmente, repita los pasos anteriores para agregar más archivos
  • Crear las opciones de unión
  • Agregue una lista separada por comas de los elementos de unión creados
  • Establecer la ruta del archivo de salida
  • Crear la JoinRequest con JoinOptions
  • Llame al método join() con JoinRequest

El siguiente ejemplo de código muestra cómo fusionar varios archivos de Excel mediante una API REST en Python.

# Crear instancia de la API
documentApi = groupdocs_merger_cloud.DocumentApi.from_keys(client_id, client_secret)

# Definir el primer archivo de entrada
item1 = groupdocs_merger_cloud.JoinItem()
item1.file_info = groupdocs_merger_cloud.FileInfo("sample1.xlsx")

# Definir el segundo archivo de entrada
item2 = groupdocs_merger_cloud.JoinItem()
item2.file_info = groupdocs_merger_cloud.FileInfo("sample2.xlsx")

# Definir opciones de unión
options = groupdocs_merger_cloud.JoinOptions()
options.join_items = [item1, item2]
options.output_path = "joined.xlsx"

# Crear solicitud de unión
request = groupdocs_merger_cloud.JoinRequest(options)

# Unirse a los archivos
result = documentApi.join(request)

# Hecho
print("Documents merged: " + result.path)
Combinar varios archivos de Excel usando la API REST en Python

Combinar varios archivos de Excel usando la API REST en Python

Descargar el archivo combinado

El ejemplo de código anterior guardará el archivo de Excel fusionado en la nube. Puede descargarlo utilizando el siguiente ejemplo de código:

# Inicialización de la API
file_api = groupdocs_merger_cloud.FileApi.from_config(configuration)
my_storage = ""

# Crear solicitud de archivo de descarga
request = groupdocs_merger_cloud.DownloadFileRequest("joined.xlsx", my_storage)
response = file_api.download_file(request)

# Mueva el archivo descargado a su directorio de trabajo
shutil.move(response, "C:\\Files\\")

Combinar hojas de Excel específicas usando Python

Puede fusionar fácilmente hojas de Excel específicas de varios archivos de Excel en un solo archivo mediante programación siguiendo los pasos que se mencionan a continuación:

  • Crear una instancia de DocumentApi
  • Crear el primer JoinItem
  • Proporcione la ruta del archivo de entrada para el primer JoinItem en FileInfo
  • Crea el segundo JoinItem
  • Proporcione la ruta del archivo de entrada para el segundo JoinItem en FileInfo
  • Defina el número de la hoja inicial y el número de la hoja final para el segundo JoinItem
  • Opcionalmente, defina el modo de rango
  • Crear las opciones de unión
  • Agregue una lista separada por comas de los elementos de unión creados
  • Establecer la ruta del archivo de salida
  • Crear la JoinRequest con JoinOptions
  • Obtenga resultados llamando al método join() de DocumentAPI

El siguiente fragmento de código muestra cómo fusionar hojas de Excel específicas de varios archivos mediante una API REST en Python.

# Crear instancia de la API
documentApi = groupdocs_merger_cloud.DocumentApi.from_keys(client_id, client_secret)

# Definir el primer archivo de entrada
item1 = groupdocs_merger_cloud.JoinItem()
item1.file_info = groupdocs_merger_cloud.FileInfo("sample1.xlsx")

# Definir el segundo archivo de entrada
item2 = groupdocs_merger_cloud.JoinItem()
item2.file_info = groupdocs_merger_cloud.FileInfo("sample2.xlsx")
# Establecer rango de números de hoja para fusionar
item2.start_page_number = 3
item2.end_page_number = 4
# Modo de rango
item2.range_mode = "OddPages"

# Definir opciones de unión
options = groupdocs_merger_cloud.JoinOptions()
options.join_items = [item1, item2]
options.output_path = "joined_sheets.xlsx"

# Crear solicitud de unión
request = groupdocs_merger_cloud.JoinRequest(options)

# Unirse a los archivos
result = documentApi.join(request)

# Hecho
print("Documents merged: " + result.path)
Combinar hojas de Excel específicas usando Python

Combinar hojas de Excel específicas usando Python

Prueba en línea

Pruebe la siguiente herramienta gratuita de fusión XLSX en línea, que se desarrolla utilizando la API anterior. https://products.groupdocs.app/merger/xlsx

Conclusión

En este artículo, ha aprendido a fusionar varios archivos de Excel en la nube. Además, ha visto cómo fusionar hojas de Excel específicas de varios archivos en un solo archivo usando una API REST en Python. Este artículo también explicó cómo cargar mediante programación archivos XLSX a la nube y luego descargar el archivo combinado de la nube. La API también le permite reordenar o reemplazar páginas de documentos, cambiar la orientación de la página, administrar contraseñas de documentos y realizar otras manipulaciones fácilmente para cualquier formato de archivo compatible. Puede obtener más información sobre GroupDocs.Merge Cloud API utilizando la documentación. También proporcionamos una sección Referencia de API que le permite visualizar e interactuar con nuestras API directamente a través del navegador. En caso de cualquier ambigüedad, no dude en contactarnos en el foro.

Ver también