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

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

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

REST API слияния файлов и Node.js SDK

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

Вы можете установить GroupDocs.Merger Cloud в свое приложение Node.js, используя следующую команду в консоли:

npm install groupdocs-merger-cloud

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

global.clientId = "112f0f38-9dae-42d5-b4fc-cc84ae644972";
global.clientSecret = "16ad3fe0bdc39c910f57d2fd48a5d618";
global.myStorage = "";

const configuration = new groupdocs_merger_cloud.Configuration(clientId, clientSecret);
configuration.apiBaseUrl = "https://api.groupdocs.cloud";

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

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

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

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

// построить FileApi
let fileApi = groupdocs_merger_cloud.FileApi.fromConfig(configuration);
let resourcesFolder = 'C:\\Files\\';

fs.readdir(resourcesFolder, (err, files) => {
  files.forEach(file => {
    // читать файлы один за другим
    fs.readFile(resourcesFolder + file, (err, fileStream) => {
      // создать запрос на загрузку файла
      let request = new groupdocs_merger_cloud.UploadFileRequest(file, fileStream, myStorage);
      // загрузить файл
      fileApi.uploadFile(request)
        .then(function (response) {
          console.log(file + " uploaded: " + response.uploaded.length);
        })
        .catch(function (error) {
          console.log("Error: " + error.message);
        });
    });
  });
});

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

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

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

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

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

// инициализация API
let documentApi = groupdocs_merger_cloud.DocumentApi.fromKeys(clientId, clientSecret);

// создать первый элемент соединения
let item1 = new groupdocs_merger_cloud.JoinItem();
item1.fileInfo = new groupdocs_merger_cloud.FileInfo();
item1.fileInfo.filePath = "sample1.xlsx";

// создать второй элемент соединения
let item2 = new groupdocs_merger_cloud.JoinItem();
item2.fileInfo = new groupdocs_merger_cloud.FileInfo();
item2.fileInfo.filePath = "sample2.xlsx";

// создать параметры присоединения
let options = new groupdocs_merger_cloud.JoinOptions();
options.joinItems = [item1, item2];
options.outputPath = "Output/joined.xlsx";

// создать запрос на присоединение
let joinRequest = new groupdocs_merger_cloud.JoinRequest(options);
let result = await documentApi.join(joinRequest);

console.log("Document edited: " + result.path);
Объединение нескольких файлов Excel с помощью REST API в Node.js

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

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

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

// инициализировать API
var fileApi = groupdocs_merger_cloud.FileApi.fromConfig(configuration);

// создать запрос на скачивание файла
let request = new groupdocs_merger_cloud.DownloadFileRequest("Output/joined.xlsx", myStorage);

// Загрузка файла
let response = await fileApi.downloadFile(request);

// сохранить выходной файл в вашем рабочем каталоге
fs.writeFile("C:\\Files\\joined.xlsx", response, "binary", function (err) { });
console.log(response);

Объединение определенных листов Excel с помощью Node.js

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

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

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

// инициализация API
let documentApi = groupdocs_merger_cloud.DocumentApi.fromKeys(clientId, clientSecret);

// создать первый элемент соединения
let item1 = new groupdocs_merger_cloud.JoinItem();
item1.fileInfo = new groupdocs_merger_cloud.FileInfo();
item1.fileInfo.filePath = "sample1.xlsx";

// создать второй элемент соединения
let item2 = new groupdocs_merger_cloud.JoinItem();
item2.fileInfo = new groupdocs_merger_cloud.FileInfo();
item2.fileInfo.filePath = "sample2.xlsx";
item2.startPageNumber = 3
item2.endPageNumber = 4

// создать параметры присоединения
let options = new groupdocs_merger_cloud.JoinOptions();
options.joinItems = [item1, item2];
options.outputPath = "Output/joined.xlsx";

// создать запрос на присоединение
let joinRequest = new groupdocs_merger_cloud.JoinRequest(options);
let result = await documentApi.join(joinRequest);

console.log("Document edited: " + result.path);
Объединение определенных листов Excel с помощью REST API в Node.js

Объединение определенных листов Excel с помощью REST API в Node.js

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

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

Заключение

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

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