Edite la hoja de Excel usando la API REST en Python.

Excel es una de las aplicaciones de hojas de cálculo más populares y ampliamente utilizadas. Nos permite organizar, analizar y almacenar datos en forma tabular. Podemos agregar, editar o eliminar fácilmente el contenido de los archivos de Excel usando Python. En este artículo, aprenderemos a editar una hoja de Excel utilizando una API REST en Python.

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

Editor de hojas de cálculo de Excel REST API y Python SDK

Para modificar los archivos XLSX, usaremos la API Python SDK de GroupDocs.Editor Cloud. Permite editar documentos de los formatos soportados. Instálalo usando el siguiente comando en la consola:

pip install groupdocs_editor_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:

# Este ejemplo de código demuestra cómo agregar su ID de cliente y secreto en el código.
client_id = "659fe7da-715b-4744-a0f7-cf469a392b73"
client_secret = "b377c36cfa28fa69960ebac6b6e36421"
my_storage = ""

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

Edite un archivo de Excel usando una API REST en Python

Podemos editar archivos de Excel siguiendo los sencillos pasos que se indican a continuación:

  1. Subir el archivo XLSX a la Nube
  2. Editar Datos de la hoja de cálculo de Excel
  3. Descargarel archivo actualizado

Sube el documento

En primer lugar, cargaremos el archivo XLSX en la nube usando el ejemplo de código que se muestra a continuación:

# Este ejemplo de código demuestra cómo cargar un archivo de Excel en la nube.
# Crear instancia de la API
file_api = groupdocs_editor_cloud.FileApi.from_config(configuration)

# cargar archivo de muestra
request = groupdocs_editor_cloud.UploadFileRequest("sample.xlsx", "C:\\Files\\\Editor\\sample.xlsx", my_storage)
response = file_api.upload_file(request)

Como resultado, el archivo XLSX cargado estará disponible en la sección de archivos del tablero en la nube.

Editar datos de hojas de cálculo de Excel en Python

Podemos editar el contenido de una hoja de Excel siguiendo los pasos que se detallan a continuación:

  • En primer lugar, cree instancias de FileApi y EditApi.
  • A continuación, proporcione la ruta del archivo XLSX cargado.
  • Luego, descargue el archivo como un documento HTML.
  • A continuación, lea el archivo HTML descargado como una cadena.
  • Luego, edite el HTML y guarde el documento HTML actualizado.
  • Después de eso, cargue el archivo HTML actualizado.
  • Finalmente, guarde HTML nuevamente en XLSX usando el método EditApi.save().

El siguiente ejemplo de código muestra cómo editar datos de hojas de Excel usando una API REST en Python.

# Este ejemplo de código muestra cómo editar el contenido de una hoja de Excel.
# Inicialización de la API
editApi = groupdocs_editor_cloud.EditApi.from_keys(client_id, client_secret)
fileApi = groupdocs_editor_cloud.FileApi.from_keys(client_id, client_secret)

# Cargue el documento cargado en estado editable
fileInfo = groupdocs_editor_cloud.FileInfo("sample.xlsx")

# Definir las opciones de carga de la hoja de cálculo
loadOptions = groupdocs_editor_cloud.SpreadsheetLoadOptions()
loadOptions.file_info = fileInfo

# Proporcione la ruta de la carpeta de salida 
loadOptions.output_path = "output"
# Proporcione el índice de la hoja de trabajo para editar
loadOptions.worksheet_index = 0
# cargar la hoja
loadResult = editApi.load(groupdocs_editor_cloud.LoadRequest(loadOptions))        

# Descargar documento html
htmlFile = fileApi.download_file(groupdocs_editor_cloud.DownloadFileRequest(loadResult.html_path))
html = ""       

with open(htmlFile, 'r') as file:
    html = file.read()

# Edita algo...    
html = html.replace("Welcome", "This is a sample sheet!")

# Subir html de nuevo al almacenamiento
with open(htmlFile, 'w') as file:
    file.write(html)

fileApi.upload_file(groupdocs_editor_cloud.UploadFileRequest(loadResult.html_path, htmlFile))

# Guardar html de nuevo en xlsx
saveOptions = groupdocs_editor_cloud.SpreadsheetSaveOptions()
saveOptions.file_info = fileInfo
saveOptions.output_path = "edited.xlsx"
saveOptions.html_path = loadResult.html_path
saveOptions.resources_path = loadResult.resources_path
saveResult = editApi.save(groupdocs_editor_cloud.SaveRequest(saveOptions))

# Hecho
print("Document edited: " + saveResult.path)
Edite el archivo de Excel usando una API REST en Python.

Edite el archivo de Excel usando una API REST en Python.

Descargar el archivo actualizado

El ejemplo de código anterior guardará el archivo de Excel editado (XLSX) en la nube. Se puede descargar usando el siguiente ejemplo de código:

# Este ejemplo de código muestra cómo descargar el archivo de Excel actualizado.
# Inicialización de la API
file_api = groupdocs_editor_cloud.FileApi.from_config(configuration)

# Descargar archivo
request = groupdocs_editor_cloud.DownloadFileRequest("edited.xlsx", my_storage)
response = file_api.download_file(request)

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

Agregar tabla en hoja de Excel usando Python

Podemos agregar una tabla en la hoja de Excel siguiendo los pasos mencionados anteriormente. Sin embargo, necesitamos actualizar el HTML para agregar una tabla en el documento como se muestra a continuación:

html = html.replace("</TABLE>", """</TABLE> <br/><table style="width: 100%;background-color: #dddddd;border: 1px solid black;">
<caption style=\"font-weight:bold;\"> Persons List</caption>
<tr><th style="background-color: #04AA6D; color: white;">First Name</th><th style="background-color: #04AA6D; color: white;">Last Name</th><th style="background-color: #04AA6D; color: white;">Age</th></tr>
<tr><td>Jill</td><td>Smith</td><td>50</td></tr>
<tr><td>Eve</td><td>Jackson</td><td>94</td></tr>
</table>""")

El siguiente ejemplo de código muestra cómo agregar una tabla en una hoja de cálculo de Excel usando una API REST en Python. Siga los pasos mencionados anteriormente para cargar y descargar un archivo.

# Este ejemplo de código muestra cómo editar una hoja de Excel e insertar una nueva tabla.
# Inicialización de la API
editApi = groupdocs_editor_cloud.EditApi.from_keys(client_id, client_secret)
fileApi = groupdocs_editor_cloud.FileApi.from_keys(client_id, client_secret)

# Cargue el documento cargado en estado editable
fileInfo = groupdocs_editor_cloud.FileInfo("sample.xlsx")

# Definir las opciones de carga de la hoja de cálculo
loadOptions = groupdocs_editor_cloud.SpreadsheetLoadOptions()
loadOptions.file_info = fileInfo

# Proporcione la ruta de la carpeta de salida 
loadOptions.output_path = "output"
# Proporcione el índice de la hoja de trabajo para editar
loadOptions.worksheet_index = 0
# cargar la hoja
loadResult = editApi.load(groupdocs_editor_cloud.LoadRequest(loadOptions))        

# Descargar documento html
htmlFile = fileApi.download_file(groupdocs_editor_cloud.DownloadFileRequest(loadResult.html_path))
html = ""       

with open(htmlFile, 'r') as file:
    html = file.read()

# Insertar tabla  
html = html.replace("</TABLE>", """</TABLE> <br/><table style="width: 100%;background-color: #dddddd;border: 1px solid black;">
<caption style=\"font-weight:bold;\"> Persons List</caption>
<tr><th style="background-color: #04AA6D; color: white;">First Name</th><th style="background-color: #04AA6D; color: white;">Last Name</th><th style="background-color: #04AA6D; color: white;">Age</th></tr>
<tr><td>Jill</td><td>Smith</td><td>50</td></tr>
<tr><td>Eve</td><td>Jackson</td><td>94</td></tr>
</table>""")

# Subir html de nuevo al almacenamiento
with open(htmlFile, 'w') as file:
    file.write(html)

fileApi.upload_file(groupdocs_editor_cloud.UploadFileRequest(loadResult.html_path, htmlFile))

# Guardar html de nuevo en xlsx
saveOptions = groupdocs_editor_cloud.SpreadsheetSaveOptions()
saveOptions.file_info = fileInfo
saveOptions.output_path = "edited.xlsx"
saveOptions.html_path = loadResult.html_path
saveOptions.resources_path = loadResult.resources_path
saveResult = editApi.save(groupdocs_editor_cloud.SaveRequest(saveOptions))

# Hecho
print("Document edited: " + saveResult.path)
Agregue una tabla en una hoja de Excel usando Python.

Agregue una tabla en una hoja de Excel usando Python.

Prueba en línea

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

Conclusión

En este artículo hemos aprendido:

  • cómo editar datos de hojas de Excel en la nube;
  • cómo agregar una tabla en la hoja de Excel usando Python;
  • subir archivo de Excel a la nube;
  • cómo descargar un archivo de Excel actualizado desde la nube.

Además, puede obtener más información sobre GroupDocs.Editor 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