Połącz wiele plików Excela w jeden za pomocą REST API w Node.js

Możesz łatwo programowo połączyć dwa lub więcej plików Excel w jeden plik w chmurze. Może być konieczne wygenerowanie raportów na podstawie danych dostępnych w wielu plikach, aby można było je scalić w jeden plik w aplikacjach Node.js. W tym artykule dowiesz się, jak scalić wiele plików Excela w jeden plik za pomocą REST API w Node.js.

W tym artykule zostaną omówione następujące tematy:

File Merger REST API i Node.js SDK

Do łączenia wielu plików XLSX będę używał Node.js SDK of GroupDocs.Merger Cloud API. Pozwala łączyć, dzielić, usuwać i zmieniać kolejność pojedynczej strony lub zbioru stron z obsługiwanych formatów dokumentów, takich jak Word, Excel, PowerPoint, rysunki programu Visio, PDF i HTML.

Możesz zainstalować GroupDocs.Merger Cloud w swojej aplikacji Node.js za pomocą następującego polecenia w konsoli:

npm install groupdocs-merger-cloud

Przed wykonaniem wspomnianych kroków uzyskaj swój identyfikator klienta i klucz tajny z pulpitu nawigacyjnego. Po uzyskaniu identyfikatora i tajnego kodu dodaj kod, jak pokazano poniżej:

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

Połącz wiele plików Excela za pomocą interfejsu API REST w Node.js

Możesz programowo połączyć dwa lub więcej plików Excela w chmurze, wykonując proste czynności wymienione poniżej:

Prześlij pliki Excela

Najpierw prześlij pliki programu Excel do chmury, korzystając z przykładowego kodu podanego poniżej:

// skonstruuj FileApi
let fileApi = groupdocs_merger_cloud.FileApi.fromConfig(configuration);
let resourcesFolder = 'C:\\Files\\';

fs.readdir(resourcesFolder, (err, files) => {
  files.forEach(file => {
    // czytać pliki jeden po drugim
    fs.readFile(resourcesFolder + file, (err, fileStream) => {
      // utwórz żądanie przesłania pliku
      let request = new groupdocs_merger_cloud.UploadFileRequest(file, fileStream, myStorage);
      // Przesyłanie pliku
      fileApi.uploadFile(request)
        .then(function (response) {
          console.log(file + " uploaded: " + response.uploaded.length);
        })
        .catch(function (error) {
          console.log("Error: " + error.message);
        });
    });
  });
});

W rezultacie przesłane pliki XLSX będą dostępne w sekcji plików Twojego pulpitu nawigacyjnego w chmurze.

Scal wiele plików Excela za pomocą Node.js

Możesz łatwo programowo scalić wiele plików Excela w jeden plik, wykonując czynności wymienione poniżej:

  • Utwórz instancję DocumentApi
  • Utwórz pierwszy JoinItem
  • Podaj ścieżkę pliku wejściowego dla pierwszego JoinItem w pliku FileInfo
  • Utwórz drugi JoinItem
  • Podaj ścieżkę pliku wejściowego dla drugiego elementu JoinItem w pliku FileInfo
  • Utwórz JoinOptions
  • Dodaj oddzieloną przecinkami listę utworzonych elementów dołączania
  • Ustaw ścieżkę pliku wyjściowego
  • Utwórz JoinRequest za pomocą JoinOptions
  • Uzyskaj wyniki, wywołując metodę join() interfejsu DocumentAPI

Poniższy fragment kodu pokazuje, jak scalić wiele plików programu Excel przy użyciu interfejsu API REST w Node.js.

// inicjalizacja API
let documentApi = groupdocs_merger_cloud.DocumentApi.fromKeys(clientId, clientSecret);

// utwórz pierwszy element łączenia
let item1 = new groupdocs_merger_cloud.JoinItem();
item1.fileInfo = new groupdocs_merger_cloud.FileInfo();
item1.fileInfo.filePath = "sample1.xlsx";

// utwórz drugi element łączenia
let item2 = new groupdocs_merger_cloud.JoinItem();
item2.fileInfo = new groupdocs_merger_cloud.FileInfo();
item2.fileInfo.filePath = "sample2.xlsx";

// utwórz opcje dołączania
let options = new groupdocs_merger_cloud.JoinOptions();
options.joinItems = [item1, item2];
options.outputPath = "Output/joined.xlsx";

// utwórz prośbę o dołączenie
let joinRequest = new groupdocs_merger_cloud.JoinRequest(options);
let result = await documentApi.join(joinRequest);

console.log("Document edited: " + result.path);
Scal wiele plików programu Excel za pomocą interfejsu API REST w Node.js

Scal wiele plików programu Excel za pomocą interfejsu API REST w Node.js

Pobierz scalony plik

Powyższy przykładowy kod zapisze scalony plik programu Excel w chmurze. Możesz go pobrać, korzystając z następującego przykładowego kodu:

// zainicjować api
var fileApi = groupdocs_merger_cloud.FileApi.fromConfig(configuration);

// utwórz żądanie pobrania pliku
let request = new groupdocs_merger_cloud.DownloadFileRequest("Output/joined.xlsx", myStorage);

// pobieranie pliku
let response = await fileApi.downloadFile(request);

// zapisz plik wyjściowy w swoim katalogu roboczym
fs.writeFile("C:\\Files\\joined.xlsx", response, "binary", function (err) { });
console.log(response);

Scal określone arkusze Excela za pomocą Node.js

Możesz łatwo programowo scalić określone arkusze Excel z wielu plików Excel w jeden plik, wykonując czynności wymienione poniżej:

  • Utwórz instancję DocumentApi
  • Utwórz pierwszy JoinItem
  • Podaj ścieżkę pliku wejściowego dla pierwszego JoinItem w pliku FileInfo
  • Utwórz drugi JoinItem
  • Podaj ścieżkę pliku wejściowego dla drugiego elementu JoinItem w pliku FileInfo
  • Utwórz JoinOptions
  • Zdefiniuj numer arkusza początkowego i numer arkusza końcowego
  • Ustaw ścieżkę pliku wyjściowego
  • Utwórz JoinRequest za pomocą JoinOptions
  • Uzyskaj wyniki, wywołując metodę join() interfejsu DocumentAPI

Poniższy fragment kodu pokazuje, jak scalić określone arkusze programu Excel z wielu plików przy użyciu interfejsu API REST w Node.js.

// inicjalizacja API
let documentApi = groupdocs_merger_cloud.DocumentApi.fromKeys(clientId, clientSecret);

// utwórz pierwszy element łączenia
let item1 = new groupdocs_merger_cloud.JoinItem();
item1.fileInfo = new groupdocs_merger_cloud.FileInfo();
item1.fileInfo.filePath = "sample1.xlsx";

// utwórz drugi element łączenia
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

// utwórz opcje dołączania
let options = new groupdocs_merger_cloud.JoinOptions();
options.joinItems = [item1, item2];
options.outputPath = "Output/joined.xlsx";

// utwórz prośbę o dołączenie
let joinRequest = new groupdocs_merger_cloud.JoinRequest(options);
let result = await documentApi.join(joinRequest);

console.log("Document edited: " + result.path);
Scal określone arkusze programu Excel za pomocą interfejsu API REST w Node.js

Scal określone arkusze programu Excel za pomocą interfejsu API REST w Node.js

Wypróbuj online

Wypróbuj następujące bezpłatne narzędzie online do scalania plików XLSX, które zostało opracowane przy użyciu powyższego interfejsu API. https://products.groupdocs.app/merger/xlsx

Wniosek

W tym artykule nauczyłeś się łączyć wiele plików Excela w chmurze. Nauczyłeś się również łączyć określone arkusze Excela w jeden plik za pomocą REST API w Node.js. Ponadto nauczyłeś się, jak programowo przesyłać pliki XLSX do chmury, a następnie pobierać scalony plik z chmury. Interfejs API umożliwia również zmianę kolejności lub zamianę stron dokumentu, zmianę orientacji strony, zarządzanie hasłami do dokumentów i łatwe wykonywanie innych operacji dla dowolnego obsługiwanego formatu pliku. Zapewnia również zestawy SDK .NET, Java, PHP, Ruby, Android i Python jako członkowie rodziny łączenia dokumentów dla Cloud API. Możesz dowiedzieć się więcej o GroupDocs.Merge Cloud API korzystając z dokumentacji. Udostępniamy również sekcję Informacje o interfejsach API, która umożliwia wizualizację naszych interfejsów API i interakcję z nimi bezpośrednio w przeglądarce. W przypadku jakichkolwiek niejasności prosimy o kontakt na forum.

Zobacz też