Jako programista Python możesz potrzebować programistycznej edycji dokumentów Worda lub Excela. Możesz aktualizować takie dokumenty bez instalowania jakiejkolwiek zewnętrznej aplikacji. Ten artykuł skupi się na tym, jak edytować dokumenty Word lub Excel przy użyciu interfejsu API REST.

W tym artykule zostaną omówione następujące tematy:

Interfejs API REST edytora dokumentów i zestaw SDK języka Python

Rodzina produktów Cloud GroupDocs.Editor

Do edytowania dokumentów Worda lub arkuszy Excela będę używał Python SDK of GroupDocs.Editor Cloud API. Umożliwia programową edycję dokumentów edytora Word, arkuszy Excel lub dokumentów w innych obsługiwanych formatach. Udostępnia również zestawy SDK .NET, Java, PHP, Ruby, Android i Node.js jako członkowie rodziny edytorów dokumentów dla Cloud API.

Możesz zainstalować GroupDocs.Editor-Cloud w swoim projekcie Python za pomocą następującego polecenia w konsoli:

pip install groupdocs_editor_cloud

Zanim zaczniesz postępować zgodnie z instrukcjami i dostępnymi przykładami kodu, uzyskaj swój identyfikator klienta i klucz tajny klienta z panelu nawigacyjnego. Dodaj swój identyfikator i klucz tajny w kodzie, jak pokazano poniżej:

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"

Edytuj dokument programu Word za pomocą interfejsu API REST

Możesz edytować dokument programu Word, wykonując proste czynności wymienione poniżej:

Prześlij dokument

Przede wszystkim prześlij dokument programu Word do chmury, korzystając z przykładowego kodu podanego poniżej:

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

# prześlij przykładowy plik
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]))

W rezultacie plik Word zostanie przesłany do Cloud Storage i będzie dostępny w sekcji plików Twojego pulpitu nawigacyjnego.

Edytuj dokument Worda w Python

Wykonaj czynności wymienione poniżej, aby programowo edytować dokument programu Word.

  • Utwórz instancje File API i Edit API.
  • Podaj WordProcessingLoadOptions
  • Załaduj plik za pomocą metody Load Edit API
  • Pobierz dokument HTML za pomocą metody Download File File API
  • Edytuj dokument HTML
  • Prześlij kod HTML z powrotem za pomocą metody Prześlij plik interfejsu File API
  • Podaj WordProcessingSaveOptions do zapisania w DOCX
  • Zapisz HTML z powrotem do DOCX, używając metody Save Edit API

Poniższy fragment kodu pokazuje, jak zaktualizować dokument programu Word przy użyciu interfejsu API REST.

# Utwórz niezbędne instancje interfejsu API
edit_api = groupdocs_editor_cloud.EditApi.from_config(configurations)
file_api = groupdocs_editor_cloud.FileApi.from_config(configuration)

# Dokument został już przesłany do magazynu.
# Załaduj go do stanu edytowalnego
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))

# Pobierz dokument 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()

# Edytuj coś...
html = html.replace("Sample test text", "Hello world")

# Prześlij HTML z powrotem do magazynu
with open(html_file, 'w') as file:
    file.write(html)

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

# Zapisz html z powrotem do 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))

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

Pobierz zaktualizowany plik

Powyższy przykładowy kod zapisze edytowany plik Word w chmurze. Możesz go pobrać, korzystając z następującego przykładowego kodu:

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

# Przenieś pobrany plik do katalogu roboczego
shutil.move(response, "C:\\Files\\")

Edytuj arkusz programu Excel za pomocą interfejsu API REST

Wykonaj czynności wymienione poniżej, aby programowo edytować arkusz programu Excel.

  • Utwórz instancje File API i Edit API.
  • Podaj opcje ładowania arkusza kalkulacyjnego
  • Załaduj plik za pomocą metody Load Edit API
  • Pobierz dokument HTML za pomocą metody Download File File API
  • Edytuj dokument HTML
  • Prześlij kod HTML z powrotem za pomocą metody Prześlij plik interfejsu File API
  • Podaj SpreadsheetSaveOptions, aby zapisać w XLSX
  • Zapisz HTML z powrotem do XLSX, używając metody Save Edit API

Poniższy prosty przykład kodu pokazuje, jak zaktualizować arkusz programu Excel przy użyciu interfejsu API REST. Wykonaj czynności wymienione wcześniej, aby przesłać i pobrać plik.

# Utwórz niezbędne instancje interfejsu API
edit_api = groupdocs_editor_cloud.EditApi.from_config(configurations)
file_api = groupdocs_editor_cloud.FileApi.from_config(configurations)

# Dokument został już przesłany do magazynu.
# Załaduj go do stanu edytowalnego
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))

# Pobierz dokument 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()

# Edytuj coś...
html = html.replace("This is sample sheet", "This is sample sheep")

# Prześlij HTML z powrotem do magazynu
with open(html_file, 'w') as file:
    file.write(html)

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

# Zapisz html z powrotem do 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))

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

Wniosek

W tym artykule nauczyłeś się, jak edytować dokumenty Word lub arkusze Excel w chmurze za pomocą interfejsu API REST edytora dokumentów przy użyciu języka Python. Dowiedziałeś się również, jak programowo przesyłać pliki do chmury, a następnie pobierać zaktualizowane pliki z chmury. Możesz dowiedzieć się więcej o GroupDocs.Editor Cloud API korzystając z dokumentacji. Udostępniamy również sekcję Informacje o interfejsach API, która umożliwia wizualizację naszych interfejsów API i interakcję z nimi bezpośrednio w przeglądarce. W przypadku jakichkolwiek niejasności prosimy o kontakt na forum.

Zobacz też