Excel является одним из самых популярных и широко используемых приложений для работы с электронными таблицами. Это позволяет нам организовывать, анализировать и хранить данные в табличной форме. Мы можем легко добавлять, редактировать или удалять содержимое файлов Excel с помощью Python. В этой статье мы узнаем, как редактировать лист Excel с помощью REST API в Python.
В этой статье должны быть раскрыты следующие темы:
- Редактор электронных таблиц Excel REST API и Python SDK
- Редактировать файлы Excel с помощью REST API в Python
- Добавить таблицу в лист Excel с помощью 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, выполнив простые шаги, указанные ниже:
Загрузить документ
Во-первых, мы загрузим файл 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 (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)
Попробуйте онлайн
Попробуйте следующий бесплатный онлайн-инструмент для редактирования XLSX, разработанный с использованием вышеуказанного API. https://products.groupdocs.app/editor/xlsx
Заключение
В этой статье мы узнали:
- как редактировать данные листов Excel в облаке;
- как добавить таблицу на лист Excel с помощью Python;
- загрузить файл Excel в облако;
- как загрузить обновленный файл Excel из облака.
Кроме того, вы можете узнать больше о GroupDocs.Editor Cloud API, воспользовавшись документацией. Мы также предоставляем раздел Справочник по API, который позволяет визуализировать наши API и взаимодействовать с ними непосредственно через браузер. В случае возникновения каких-либо неясностей, пожалуйста, свяжитесь с нами на форуме.