Вы можете легко объединить два или более файлов Excel в один файл программно в облаке. Вам может потребоваться создать отчеты на основе данных, доступных в нескольких файлах, чтобы вы могли объединить их в один файл в своих приложениях Node.js. В этой статье вы узнаете, как объединить несколько файлов Excel в один файл с помощью REST API в Node.js.
В этой статье должны быть раскрыты следующие темы:
- REST API слияния файлов и Node.js SDK
- Объединение нескольких файлов Excel с помощью REST API в Node.js
- Объединение определенных листов Excel с помощью 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 в облаке, выполнив простые шаги, указанные ниже:
- Загрузить the Excel files to the Cloud
- Объединить Multiple Excel files using Node.js
- Скачать the merged file
Загрузите файлы 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 в облаке. Вы можете загрузить его, используя следующий пример кода:
// инициализировать 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);
Попробуйте онлайн
Пожалуйста, попробуйте следующий бесплатный онлайн-инструмент для слияния 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 и взаимодействовать с ними непосредственно через браузер. В случае возникновения каких-либо неясностей, пожалуйста, свяжитесь с нами на форуме.