Объединение нескольких файлов Excel в один с помощью REST API в Python.

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

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

Excel объединяет REST API и Python SDK

Для объединения нескольких файлов XLSX я буду использовать API Python SDK of GroupDocs.Merger Cloud. Он позволяет объединять, разделять, удалять и переупорядочивать одну страницу или набор страниц из поддерживаемых форматов документов из Word, Excel, PowerPoint, Чертежи Visio, PDF и HTML.

Вы можете установить GroupDocs.Merge Cloud в свое приложение Python с помощью следующей команды в консоли:

pip install groupdocs-merger-cloud

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

client_id = "659fe7da-715b-4744-a0f7-cf469a392b73"
client_secret = "b377c36cfa28fa69960ebac6b6e36421"

configuration = groupdocs_merger_cloud.Configuration(client_id, client_secret)
configuration.api_base_url = "https://api.groupdocs.cloud"
my_storage = ""

Объединение нескольких файлов Excel с использованием REST API в Python

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

Загрузите файлы Excel

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

# Создайте экземпляр API
file_api = groupdocs_merger_cloud.FileApi.from_config(configuration)
storage_api = groupdocs_merger_cloud.StorageApi.from_config(configuration)

# загрузить образцы файлов
for filename in glob.iglob("C:\\Files\\upload\\*.xlsx", recursive=True):
    destFile = filename.replace("C:\\Files\\upload", "", 1)           
    # проверить, существует ли уже файл
    fileExistsResponse = storage_api.object_exists(groupdocs_merger_cloud.ObjectExistsRequest(destFile))
    if not fileExistsResponse.exists:
        # создать запрос на загрузку файла
        request = groupdocs_merger_cloud.UploadFileRequest(destFile, filename)
        # загрузить файл
        file_api.upload_file(request)

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

Объединение нескольких файлов Excel с помощью Python

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

  • Создайте экземпляр DocumentApi.
  • Создайте первый объект JoinItem.
  • Укажите путь к входному файлу для первого элемента JoinItem в FileInfo.
  • Создайте второй объект JoinItem.
  • Укажите путь к входному файлу для второго элемента JoinItem в FileInfo.
  • При желании повторите описанные выше шаги, чтобы добавить больше файлов.
  • Создайте параметры присоединения
  • Добавить разделенный запятыми список созданных элементов соединения
  • Установить путь к выходному файлу
  • Создайте запрос на присоединение с помощью параметров присоединения.
  • Вызовите метод join () с помощью JoinRequest.

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

# Создать экземпляр API
documentApi = groupdocs_merger_cloud.DocumentApi.from_keys(client_id, client_secret)

# Определить первый входной файл
item1 = groupdocs_merger_cloud.JoinItem()
item1.file_info = groupdocs_merger_cloud.FileInfo("sample1.xlsx")

# Определить второй входной файл
item2 = groupdocs_merger_cloud.JoinItem()
item2.file_info = groupdocs_merger_cloud.FileInfo("sample2.xlsx")

# Определить параметры присоединения
options = groupdocs_merger_cloud.JoinOptions()
options.join_items = [item1, item2]
options.output_path = "joined.xlsx"

# Создать запрос на присоединение
request = groupdocs_merger_cloud.JoinRequest(options)

# Присоединяйтесь к файлам
result = documentApi.join(request)

# Сделанный
print("Documents merged: " + result.path)
Объединение нескольких файлов Excel с использованием REST API в Python

Объединение нескольких файлов Excel с использованием REST API в Python

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

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

# Инициализация API
file_api = groupdocs_merger_cloud.FileApi.from_config(configuration)
my_storage = ""

# Создать запрос на скачивание файла
request = groupdocs_merger_cloud.DownloadFileRequest("joined.xlsx", my_storage)
response = file_api.download_file(request)

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

Объединить определенные листы Excel с помощью Python

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

  • Создайте экземпляр DocumentApi.
  • Создайте первый объект JoinItem.
  • Укажите путь к входному файлу для первого элемента JoinItem в FileInfo.
  • Создайте второй объект JoinItem.
  • Укажите путь к входному файлу для второго элемента JoinItem в FileInfo.
  • Определите номер начального листа и номер конечного листа для второго элемента JoinItem.
  • При необходимости определите режим диапазона
  • Создайте параметры присоединения
  • Добавить разделенный запятыми список созданных элементов соединения
  • Установить путь к выходному файлу
  • Создайте запрос на присоединение с помощью параметров присоединения.
  • Получите результаты, вызвав метод join() DocumentAPI.

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

# Создать экземпляр API
documentApi = groupdocs_merger_cloud.DocumentApi.from_keys(client_id, client_secret)

# Определить первый входной файл
item1 = groupdocs_merger_cloud.JoinItem()
item1.file_info = groupdocs_merger_cloud.FileInfo("sample1.xlsx")

# Определить второй входной файл
item2 = groupdocs_merger_cloud.JoinItem()
item2.file_info = groupdocs_merger_cloud.FileInfo("sample2.xlsx")
# Установите диапазон номеров листов для объединения
item2.start_page_number = 3
item2.end_page_number = 4
# Режим диапазона
item2.range_mode = "OddPages"

# Определить параметры присоединения
options = groupdocs_merger_cloud.JoinOptions()
options.join_items = [item1, item2]
options.output_path = "joined_sheets.xlsx"

# Создать запрос на присоединение
request = groupdocs_merger_cloud.JoinRequest(options)

# Присоединяйтесь к файлам
result = documentApi.join(request)

# Сделанный
print("Documents merged: " + result.path)
Объединить определенные листы Excel с помощью Python

Объединить определенные листы Excel с помощью Python

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

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

Заключение

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

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