In qualità di sviluppatore Python, potresti dover modificare i documenti Word o Excel a livello di programmazione. È possibile aggiornare tali documenti senza installare alcuna applicazione esterna. Questo articolo si concentrerà su come modificare documenti Word o Excel utilizzando un’API REST.

In questo articolo saranno trattati i seguenti argomenti:

API REST dell’editor di documenti e Python SDK

GroupDocs.Editor Famiglia di prodotti cloud

Per modificare documenti Word o fogli Excel, utilizzerò l’API Python SDK of GroupDocs.Editor Cloud. Consente di modificare a livello di codice documenti di elaborazione testi, fogli Excel o documenti di altri formati supportati. Fornisce inoltre SDK .NET, Java, PHP, Ruby, Android e Node.js come membri della famiglia di editor di documenti per l’API Cloud.

Puoi installare GroupDocs.Editor-Cloud nel tuo progetto Python utilizzando il seguente comando nella console:

pip install groupdocs_editor_cloud

Ottieni il tuo ID cliente e il tuo segreto cliente dalla dashboard prima di iniziare a seguire i passaggi e gli esempi di codice disponibili. Aggiungi il tuo ID e segreto nel codice come mostrato di seguito:

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"

Modifica il documento di Word utilizzando un’API REST

Puoi modificare il documento di Word seguendo i semplici passaggi indicati di seguito:

Carica il documento

Prima di tutto, carica il documento Word sul Cloud utilizzando l’esempio di codice riportato di seguito:

storage_api = groupdocs_editor_cloud.StorageApi.from_config(config_info)
file_api = groupdocs_editor_cloud.FileApi.from_config(config_info)

# caricare file di esempio
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]))

Di conseguenza, il file Word verrà caricato su Cloud Storage e sarà disponibile nella sezione file della tua dashboard.

Modifica documento Word in Python

Si prega di seguire i passaggi indicati di seguito per modificare il documento di Word a livello di codice.

  • Crea istanze File API e Edit API.
  • Fornire WordProcessingLoadOptions
  • Carica un file con il metodo Load di Edit API
  • Scarica il documento HTML utilizzando il metodo Scarica file di File API
  • Modifica documento HTML
  • Ricarica l’HTML utilizzando il metodo Carica file dell’API File
  • Fornire WordProcessingSaveOptions per salvare in DOCX
  • Salva l’HTML in DOCX utilizzando il metodo Save dell’API di modifica

Il frammento di codice seguente mostra come aggiornare un documento di Word utilizzando un’API REST.

# Crea le istanze API necessarie
edit_api = groupdocs_editor_cloud.EditApi.from_config(configurations)
file_api = groupdocs_editor_cloud.FileApi.from_config(configuration)

# Il documento è già stato caricato nell'archivio.
# Caricalo in uno stato modificabile
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))

# Scarica 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()

# Modifica qualcosa...
html = html.replace("Sample test text", "Hello world")

# Carica di nuovo html nello spazio di archiviazione
with open(html_file, 'w') as file:
    file.write(html)

file_api.upload_file(groupdocs_editor_cloud.UploadFileRequest(load_result.html_path, html_file))

# Salva html in 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))

# Fatto
print("Document edited: " + save_result.path)

Scarica il file aggiornato

L’esempio di codice precedente salverà il file Word modificato nel cloud. Puoi scaricarlo utilizzando il seguente esempio di codice:

request = groupdocs_editor_cloud.DownloadFileRequest("output\\edited.docx", my_storage)
response = file_api.download_file(request)

# Sposta il file scaricato nella tua directory di lavoro
shutil.move(response, "C:\\Files\\")

Modifica il foglio Excel utilizzando un’API REST

Si prega di seguire i passaggi indicati di seguito per modificare il foglio Excel a livello di codice.

  • Crea istanze File API e Edit API.
  • Fornire SpreadsheetLoadOptions
  • Carica un file con il metodo Load di Edit API
  • Scarica il documento HTML utilizzando il metodo Scarica file di File API
  • Modifica documento HTML
  • Ricarica l’HTML utilizzando il metodo Carica file dell’API File
  • Fornire SpreadsheetSaveOptions per salvare in XLSX
  • Salva l’HTML in XLSX utilizzando il metodo Save dell’API di modifica

Il semplice esempio di codice fornito di seguito mostra come aggiornare un foglio Excel utilizzando un’API REST. Si prega di seguire i passaggi menzionati in precedenza per caricare e scaricare un file.

# Crea le istanze API necessarie
edit_api = groupdocs_editor_cloud.EditApi.from_config(configurations)
file_api = groupdocs_editor_cloud.FileApi.from_config(configurations)

# Il documento è già stato caricato nell'archivio.
# Caricalo in uno stato modificabile
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))

# Scarica 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()

# Modifica qualcosa...
html = html.replace("This is sample sheet", "This is sample sheep")

# Carica di nuovo html nello spazio di archiviazione
with open(html_file, 'w') as file:
    file.write(html)

file_api.upload_file(groupdocs_editor_cloud.UploadFileRequest(load_result.html_path, html_file))

# Salva html in 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))

# Fatto
print("Excel sheet edited: " + save_result.path)

Conclusione

In questo articolo, hai imparato come modificare documenti Word o fogli Excel nel cloud con l’API REST dell’editor di documenti utilizzando Python. Hai anche imparato come caricare a livello di codice i file sul cloud e quindi scaricare i file aggiornati dal cloud. Puoi saperne di più su GroupDocs.Editor Cloud API utilizzando la documentazione. Forniamo anche una sezione Riferimento API che ti consente di visualizzare e interagire con le nostre API direttamente attraverso il browser. In caso di qualsiasi ambiguità, non esitate a contattarci sul forum.

Guarda anche