Como desarrollador de Python, es posible que deba editar documentos de Word o Excel mediante programación. Puede actualizar dichos documentos sin instalar ninguna aplicación externa. Este artículo se centrará en cómo editar documentos de Word o Excel usando una API REST.
En este artículo se tratarán los siguientes temas:
- API REST del editor de documentos y SDK de Python
- Editar documento de Word usando una API REST
- Editar hoja de Excel usando una API REST
API REST del editor de documentos y SDK de Python
Para editar documentos de Word u hojas de Excel, usaré la Python SDK de GroupDocs.Editor Cloud API. Le permite editar mediante programación documentos de procesamiento de Word, hojas de Excel o documentos de otros formatos admitidos. También proporciona SDK de .NET, Java, PHP, Ruby, Android y Node.js como sus miembros de la familia de editores de documentos para la API de la nube.
Puede instalar GroupDocs.Editor-Cloud en su proyecto Python usando el siguiente comando en la consola:
pip install groupdocs_editor_cloud
Obtenga su ID de cliente y Secreto de cliente del panel de control antes de comenzar a seguir los pasos y los ejemplos de código disponibles. Agregue su ID y secreto en el código como se muestra a continuación:
client_id = "YOUR_CLIENT_ID"
client_secret = "YOUR_CLIENT_SECRET"
configuration = groupdocs_editor_cloud.Configuration(client_id, client_secret)
configuration.api_base_url = "https://api.groupdocs.cloud"
Editar documento de Word usando una API REST
Puede editar el documento de Word siguiendo los sencillos pasos que se mencionan a continuación:
Sube el documento
En primer lugar, cargue el documento de Word en la nube utilizando el ejemplo de código que se muestra a continuación:
storage_api = groupdocs_editor_cloud.StorageApi.from_config(config_info)
file_api = groupdocs_editor_cloud.FileApi.from_config(config_info)
# cargar archivo de muestra
files = glob.glob("C:\\Files\\sample_word_document.docx", recursive=False)
destination_file = files[0].replace("C:\\Files\\", "", 1)
file_api.upload_file(groupdocs_editor_cloud.UploadFileRequest(destination_file, files[0]))
Como resultado, el archivo de Word se cargará en Cloud Storage y estará disponible en la sección de archivos de su tablero.
Editar documento de Word en Python
Siga los pasos que se mencionan a continuación para editar el documento de Word mediante programación.
- Crear instancias de File API y Editar API
- Proporcionar WordProcessingLoadOptions
- Cargue un archivo con el método Load de Edit API
- Descargue el documento HTML utilizando el método Descargar archivo de File API
- Editar documento HTML
- Vuelva a cargar HTML utilizando el método Subir archivo de la API de archivos
- Proporcione WordProcessingSaveOptions para guardar en DOCX
- Guarde HTML nuevamente en DOCX usando el método Guardar de Editar API
El siguiente fragmento de código muestra cómo actualizar un documento de Word mediante una API REST.
# Crear las instancias de API necesarias
edit_api = groupdocs_editor_cloud.EditApi.from_config(configurations)
file_api = groupdocs_editor_cloud.FileApi.from_config(configuration)
# El documento ya se cargó en el almacenamiento.
# Cargarlo en estado editable
file_info = groupdocs_editor_cloud.FileInfo("sample_word_document.docx", None, None, None)
load_options = groupdocs_editor_cloud.WordProcessingLoadOptions()
load_options.file_info = file_info
load_options.output_path = "output"
load_result = edit_api.load(groupdocs_editor_cloud.LoadRequest(load_options))
# Descargar documento html
html_file = file_api.download_file(groupdocs_editor_cloud.DownloadFileRequest(load_result.html_path))
html = ""
with open(html_file, 'r') as file:
html = file.read()
# Edita algo...
html = html.replace("Sample test text", "Hello world")
# Subir html de nuevo al almacenamiento
with open(html_file, 'w') as file:
file.write(html)
file_api.upload_file(groupdocs_editor_cloud.UploadFileRequest(load_result.html_path, html_file))
# Guardar html de nuevo en docx
save_options = groupdocs_editor_cloud.WordProcessingSaveOptions()
save_options.file_info = file_info
save_options.output_path = "output/edited.docx"
save_options.html_path = load_result.html_path
save_options.resources_path = load_result.resources_path
save_result = edit_api.save(groupdocs_editor_cloud.SaveRequest(save_options))
# Hecho
print("Document edited: " + save_result.path)
Descargar el archivo actualizado
El ejemplo de código anterior guardará el archivo de Word editado en la nube. Puede descargarlo utilizando el siguiente ejemplo de código:
request = groupdocs_editor_cloud.DownloadFileRequest("output\\edited.docx", my_storage)
response = file_api.download_file(request)
# Mueva el archivo descargado a su directorio de trabajo
shutil.move(response, "C:\\Files\\")
Editar hoja de Excel usando una API REST
Siga los pasos que se mencionan a continuación para editar la hoja de Excel mediante programación.
- Crear instancias de File API y Editar API
- Proporcionar opciones de carga de hoja de cálculo
- Cargue un archivo con el método Load de Edit API
- Descargue el documento HTML utilizando el método Descargar archivo de File API
- Editar documento HTML
- Vuelva a cargar HTML utilizando el método Cargar archivo de File API
- Proporcione SpreadsheetSaveOptions para guardar en XLSX
- Guarde HTML nuevamente en XLSX usando el método Guardar de Editar API
El ejemplo de código simple que se proporciona a continuación demuestra cómo actualizar una hoja de Excel usando una API REST. Siga los pasos mencionados anteriormente para cargar y descargar un archivo.
# Crear las instancias de API necesarias
edit_api = groupdocs_editor_cloud.EditApi.from_config(configurations)
file_api = groupdocs_editor_cloud.FileApi.from_config(configurations)
# El documento ya se cargó en el almacenamiento.
# Cargarlo en estado editable
file_info = groupdocs_editor_cloud.FileInfo("sample_four_sheets.xlsx")
load_options = groupdocs_editor_cloud.SpreadsheetLoadOptions()
load_options.file_info = file_info
load_options.output_path = "output"
load_options.worksheet_index = 0
load_result = edit_api.load(groupdocs_editor_cloud.LoadRequest(load_options))
# Descargar documento html
html_file = file_api.download_file(groupdocs_editor_cloud.DownloadFileRequest(load_result.html_path))
html = ""
with open(html_file, 'r') as file:
html = file.read()
# Edita algo...
html = html.replace("This is sample sheet", "This is sample sheep")
# Subir html de nuevo al almacenamiento
with open(html_file, 'w') as file:
file.write(html)
file_api.upload_file(groupdocs_editor_cloud.UploadFileRequest(load_result.html_path, html_file))
# Guardar html de nuevo en xlsx
save_options = groupdocs_editor_cloud.SpreadsheetSaveOptions()
save_options.file_info = file_info
save_options.output_path = "output/edited.xlsx"
save_options.html_path = load_result.html_path
save_options.resources_path = load_result.resources_path
save_result = edit_api.save(groupdocs_editor_cloud.SaveRequest(save_options))
# Hecho
print("Excel sheet edited: " + save_result.path)
Conclusión
En este artículo, ha aprendido a editar documentos de Word u hojas de Excel en la nube con la API REST del Editor de documentos usando Python. También aprendió cómo cargar mediante programación los archivos en la nube y luego descargar los archivos actualizados de la nube. 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.