Редактируйте лист Excel с помощью REST API в Python.

Excel является одним из самых популярных и широко используемых приложений для работы с электронными таблицами. Это позволяет нам организовывать, анализировать и хранить данные в табличной форме. Мы можем легко добавлять, редактировать или удалять содержимое файлов Excel с помощью Python. В этой статье мы узнаем, как редактировать лист Excel с помощью REST API в Python.

В этой статье должны быть раскрыты следующие темы:

Редактор электронных таблиц Excel REST API и Python SDK

Для изменения файлов XLSX мы будем использовать API Python SDK of GroupDocs.Editor Cloud. Он позволяет редактировать документы поддерживаемых форматов. Пожалуйста, установите его с помощью следующей команды в консоли:

pip install groupdocs_editor_cloud

Пожалуйста, получите свой идентификатор клиента и секрет из панели инструментов, прежде чем выполнять указанные шаги. Получив свой идентификатор и секрет, добавьте код, как показано ниже:

# В этом примере кода показано, как добавить идентификатор клиента и секрет в код.
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"

Редактировать файл Excel с помощью REST API в Python

Мы можем редактировать файлы Excel, выполнив простые шаги, указанные ниже:

  1. Загрузить файл XLSX в облако
  2. Изменить Данные электронной таблицы Excel
  3. Скачать обновленный файл

Загрузить документ

Во-первых, мы загрузим файл XLSX в облако, используя приведенный ниже пример кода:

# В этом примере кода показано, как загрузить файл Excel в облако.
# Создать экземпляр API
file_api = groupdocs_editor_cloud.FileApi.from_config(configuration)

# загрузить образец файла
request = groupdocs_editor_cloud.UploadFileRequest("sample.xlsx", "C:\\Files\\\Editor\\sample.xlsx", my_storage)
response = file_api.upload_file(request)

В результате загруженный файл XLSX будет доступен в разделе файлов панели инструментов в облаке.

Редактировать данные электронной таблицы Excel в Python

Мы можем редактировать содержимое листа Excel, выполнив следующие действия:

  • Во-первых, создайте экземпляры FileApi и EditApi.
  • Затем укажите путь к загруженному файлу XLSX.
  • Затем загрузите файл в виде HTML-документа.
  • Затем прочитайте загруженный файл HTML как строку.
  • Затем отредактируйте HTML и сохраните обновленный HTML-документ.
  • После этого загрузите обновленный HTML-файл.
  • Наконец, сохраните HTML обратно в XLSX, используя метод EditApi.save().

В следующем примере кода показано, как редактировать данные листа Excel с помощью REST API в Python.

# В этом примере кода показано, как редактировать содержимое листа Excel.
# Инициализация API
editApi = groupdocs_editor_cloud.EditApi.from_keys(client_id, client_secret)
fileApi = groupdocs_editor_cloud.FileApi.from_keys(client_id, client_secret)

# Загрузите загруженный документ в редактируемое состояние
fileInfo = groupdocs_editor_cloud.FileInfo("sample.xlsx")

# Определить параметры загрузки электронной таблицы
loadOptions = groupdocs_editor_cloud.SpreadsheetLoadOptions()
loadOptions.file_info = fileInfo

# Укажите путь к выходной папке 
loadOptions.output_path = "output"
# Укажите индекс рабочего листа для редактирования
loadOptions.worksheet_index = 0
# Загрузите лист
loadResult = editApi.load(groupdocs_editor_cloud.LoadRequest(loadOptions))        

# Скачать html-документ
htmlFile = fileApi.download_file(groupdocs_editor_cloud.DownloadFileRequest(loadResult.html_path))
html = ""       

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

# Отредактируйте что-нибудь...    
html = html.replace("Welcome", "This is a sample sheet!")

# Загрузить html обратно в хранилище
with open(htmlFile, 'w') as file:
    file.write(html)

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

# Сохранить html обратно в 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))

# Сделанный
print("Document edited: " + saveResult.path)
Отредактируйте файл Excel с помощью REST API в Python.

Отредактируйте файл Excel с помощью REST API в Python.

Загрузите обновленный файл

Приведенный выше пример кода сохранит отредактированный файл Excel (XLSX) в облаке. Его можно загрузить с помощью следующего примера кода:

# В этом примере кода показано, как загрузить обновленный файл Excel.
# Инициализация API
file_api = groupdocs_editor_cloud.FileApi.from_config(configuration)

# Загрузить файл
request = groupdocs_editor_cloud.DownloadFileRequest("edited.xlsx", my_storage)
response = file_api.download_file(request)

# Переместите загруженный файл в свой рабочий каталог
shutil.move(response, "C:\\Files\\Editor\\")

Добавить таблицу в лист Excel с помощью Python

Мы можем добавить таблицу на лист Excel, выполнив шаги, упомянутые ранее. Однако нам нужно обновить HTML, чтобы добавить таблицу в документ, как показано ниже:

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>""")

В следующем примере кода показано, как добавить таблицу в электронную таблицу Excel с помощью REST API в Python. Пожалуйста, следуйте шагам, упомянутым ранее, чтобы загрузить и скачать файл.

# В этом примере кода показано, как редактировать лист Excel и вставлять новую таблицу.
# Инициализация API
editApi = groupdocs_editor_cloud.EditApi.from_keys(client_id, client_secret)
fileApi = groupdocs_editor_cloud.FileApi.from_keys(client_id, client_secret)

# Загрузите загруженный документ в редактируемое состояние
fileInfo = groupdocs_editor_cloud.FileInfo("sample.xlsx")

# Определить параметры загрузки электронной таблицы
loadOptions = groupdocs_editor_cloud.SpreadsheetLoadOptions()
loadOptions.file_info = fileInfo

# Укажите путь к выходной папке 
loadOptions.output_path = "output"
# Укажите индекс рабочего листа для редактирования
loadOptions.worksheet_index = 0
# Загрузите лист
loadResult = editApi.load(groupdocs_editor_cloud.LoadRequest(loadOptions))        

# Скачать html-документ
htmlFile = fileApi.download_file(groupdocs_editor_cloud.DownloadFileRequest(loadResult.html_path))
html = ""       

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

# Вставить таблицу  
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>""")

# Загрузить html обратно в хранилище
with open(htmlFile, 'w') as file:
    file.write(html)

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

# Сохранить html обратно в 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))

# Сделанный
print("Document edited: " + saveResult.path)
Добавить таблицу в лист Excel с помощью Python.

Добавить таблицу в лист Excel с помощью Python.

Попробуйте онлайн

Попробуйте следующий бесплатный онлайн-инструмент для редактирования XLSX, разработанный с использованием вышеуказанного API. https://products.groupdocs.app/editor/xlsx

Заключение

В этой статье мы узнали:

  • как редактировать данные листов Excel в облаке;
  • как добавить таблицу на лист Excel с помощью Python;
  • загрузить файл Excel в облако;
  • как загрузить обновленный файл Excel из облака.

Кроме того, вы можете узнать больше о GroupDocs.Editor Cloud API, воспользовавшись документацией. Мы также предоставляем раздел Справочник по API, который позволяет визуализировать наши API и взаимодействовать с ними непосредственно через браузер. В случае возникновения каких-либо неясностей, пожалуйста, свяжитесь с нами на форуме.

Смотрите также