Merge remote spreadsheet Excel API : MergeRemoteSpreadsheet
Merge a spreadsheet file into other spreadsheet in cloud storage, and output a specified format file.
Interface Details
Endpoint
Copy PUT http://api.aspose.cloud/v4 .0 /cells/{name}/merge/spreadsheet
Function Description
This method merges multiple spreadsheet files stored in cloud storage into a single output file in the specified format (e.g., XLSX, CSV, PDF).The operation is performed remotely, without requiring the files to be downloaded to the local machine.Valid cloud storage credentials and accessible file paths or identifiers are required for all input files.The merging process is executed entirely within the cloud environment, reducing data transfer and improving performance.If any of the source files cannot be accessed, or if an error occurs during the merge or conversion process, an appropriate exception will be thrown.Supported output formats depend on the capabilities of the underlying cloud processing service.
The request parameters of mergeRemoteSpreadsheet API are:
Parameter Name
Type
Path/Query String/HTTPBody
Description
name
String
Path
The name of the workbook file to be split.
mergedSpreadsheet
String
Query
folder
String
Query
The folder path where the workbook is stored.
outFormat
String
Query
The out file format.
mergeInOneSheet
Boolean
Query
Whether to combine all data into a single worksheet.
storageName
String
Query
(Optional) The name of the storage if using custom cloud storage. Use default storage if omitted.
outPath
String
Query
(Optional) The folder path where the workbook is stored. The default is null.
outStorageName
String
Query
Output file Storage Name.
fontsLocation
String
Query
Use Custom fonts.
regoin
String
Query
The spreadsheet region setting.
password
String
Query
The password for opening spreadsheet file.
Response Description
OpenAPI Specification
The OpenAPI Specification defines a publicly accessible programming interface and lets you carry out REST interactions directly from a web browser.
Excel API SDK
Using an SDK is the best way to speed up the development. An SDK takes care of low-level details and lets you focus on your project tasks. Please check out the GitHub repository for a complete list of Aspose.Cells Cloud SDKs.
The following code examples demonstrate how to make calls to Aspose.Cells web services using various SDKs:
C#
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
using Aspose.Cells.Cloud.SDK.Api;
using Aspose.Cells.Cloud.SDK.Model;
using Aspose.Cells.Cloud.SDK.Request;
using System;
using System.IO;
using System.Collections.Generic;
using Range = Aspose.Cells.Cloud.SDK.Model.Range;
public static class Example40_MergeRemoteSpreadsheet
{
public static void Run()
{
CellsApi cellsApi = new CellsApi("xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
string remoteFolder = "TestData/In";
string book1Xlsx = "Book1.xlsx";
string bookTextXlsx = "BookText.xlsx";
var request = new MergeRemoteSpreadsheetRequest(
name: bookTextXlsx,
mergedSpreadsheet: remoteFolder + "/" + book1Xlsx,
folder: remoteFolder
);
cellsApi.MergeRemoteSpreadsheet(request);
}
}
Java
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package com.aspose.cloud.cells.api;
import com.aspose.cloud.cells.client.*;
import com.aspose.cloud.cells.model.*;
import com.aspose.cloud.cells.request.*;
import org.junit.Test;
import java.util.ArrayList;
import java.util.List;
import java.io.File;
import java.util.HashMap;
public class ExampleMergeRemoteSpreadsheet {
private CellsApi api;
public ExampleMergeRemoteSpreadsheet(){
try {
api = new CellsApi(
System.getenv("CellsCloudClientId"),
System.getenv("CellsCloudClientSecret"),
"v3.0",
System.getenv("CellsCloudApiBaseUrl")
);
} catch (ApiException e) {
e.printStackTrace();
}
}
public void Run(){
try{
String remoteFolder = "TestData/In";
String book1Xlsx = "Book1.xlsx";
String bookTextXlsx = "BookText.xlsx";
UploadFileRequest uploadFileRequest = new UploadFileRequest();
uploadFileRequest.setPath( remoteFolder + "/" + bookTextXlsx );
uploadFileRequest.setStorageName( "");
HashMap<String,File> files = new HashMap<String,File>();
files.put( bookTextXlsx , new File(bookTextXlsx ));
uploadFileRequest.setUploadFiles(files);
cellsApi.uploadFile(uploadFileRequest);
UploadFileRequest uploadFileRequest = new UploadFileRequest();
uploadFileRequest.setPath( remoteFolder + "/" + book1Xlsx );
uploadFileRequest.setStorageName( "");
HashMap<String,File> files = new HashMap<String,File>();
files.put( book1Xlsx , new File(book1Xlsx ));
uploadFileRequest.setUploadFiles(files);
cellsApi.uploadFile(uploadFileRequest);
MergeRemoteSpreadsheetRequest request = new MergeRemoteSpreadsheetRequest();
request.setName(bookTextXlsx);
request.setMergedSpreadsheet(remoteFolder + "/" + book1Xlsx);
request.setFolder(remoteFolder);
this.api.mergeRemoteSpreadsheet(request);
} catch (ApiException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
PHP
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php
require_once('vendor\autoload.php');
use \Aspose\Cells\Cloud\Api\CellsApi;
use \Aspose\Cells\Cloud\Request\MergeRemoteSpreadsheetRequest;
$cellsApi = new CellsApi(getenv("CellsCloudClientId"),getenv("CellsCloudClientSecret"),"v3.0",getenv("CellsCloudApiBaseUrl"));
$remoteFolder = "TestData/In";
$book1Xlsx = "Book1.xlsx";
$bookTextXlsx = "BookText.xlsx";
CellsApiTestBase::ready( $this->instance,$bookTextXlsx ,$remoteFolder . "/" . $bookTextXlsx , "");
CellsApiTestBase::ready( $this->instance,$book1Xlsx ,$remoteFolder . "/" . $book1Xlsx , "");
$request = new MergeRemoteSpreadsheetRequest();
$request->setName( $bookTextXlsx);
$request->setMergedSpreadsheet( $remoteFolder . "/" . $book1Xlsx);
$request->setFolder( $remoteFolder);
$$cellsApi->mergeRemoteSpreadsheet($request);
Ruby
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
require 'openssl'
require 'bundler'
require 'aspose_cells_cloud'
@instance = AsposeCellsCloud::CellsApi.new(ENV['CellsCloudClientId'], ENV['CellsCloudClientSecret'],'v3.0',ENV['CellsCloudApiBaseUrl'])
remote_folder = 'TestData/In'
book1_xlsx = 'Book1.xlsx'
book_text_xlsx = 'BookText.xlsx'
mapFiles = { }
mapFiles[book_text_xlsx] = ::File.open(File.expand_path("TestData/"+book_text_xlsx),"r")
mapFiles[book1_xlsx] = ::File.open(File.expand_path("TestData/"+book1_xlsx),"r")
uploadrequest = AsposeCellsCloud::UploadFileRequest.new( { :UploadFiles=>mapFiles,:path=>remote_folder })
@instance.upload_file(uploadrequest)
request = AsposeCellsCloud::MergeRemoteSpreadsheetRequest.new(:name=>book_text_xlsx,:mergedSpreadsheet=>remote_folder + '/' + book1_xlsx,:folder=>remote_folder);
@instance.merge_remote_spreadsheet(request);
Node.js
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
var fs = require('fs');
var path = require('path');
const _ = require('asposecellscloud');
const cellsApi = new CellsApi(process.env.CellsCloudClientId, process.env.CellsCloudClientSecret,"v3.0",process.env.CellsCloudApiBaseUrl);
var remoteFolder = "TestData/In"
var book1Xlsx = "Book1.xlsx"
var bookTextXlsx = "BookText.xlsx"
var bookTextXlsxRequest = new model.UploadFileRequest();
bookTextXlsxRequest.uploadFiles ={bookTextXlsx:fs.createReadStream(localPath + bookTextXlsx)};
bookTextXlsxRequest.path = remoteFolder + "/" + bookTextXlsx ;
bookTextXlsxRequest.storageName ="";
cellsApi.uploadFile(bookTextXlsxRequest );
var book1XlsxRequest = new model.UploadFileRequest();
book1XlsxRequest.uploadFiles ={book1Xlsx:fs.createReadStream(localPath + book1Xlsx)};
book1XlsxRequest.path = remoteFolder + "/" + book1Xlsx ;
book1XlsxRequest.storageName ="";
cellsApi.uploadFile(book1XlsxRequest );
var request = new model.MergeRemoteSpreadsheetRequest();
request.name = bookTextXlsx;
request.mergedSpreadsheet = remoteFolder + "/" + book1Xlsx;
request.folder = remoteFolder;
return cellsApi.mergeRemoteSpreadsheet(request).then((result) => {
expect(result.response.statusCode).to.equal(200);
});
Python
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import os
import sys
from asposecellscloud.apis.cells_api import CellsApi
from asposecellscloud.models import *
from asposecellscloud.requests import *
api = CellsApi(os.getenv('CellsCloudClientId'),os.getenv('CellsCloudClientSecret'),"v3.0",os.getenv('CellsCloudApiBaseUrl'))
remote_folder = 'TestData/In'
book1_xlsx = 'Book1.xlsx'
book_text_xlsx = 'BookText.xlsx'
mapFiles = {
local_name: local_name
}
request = UploadFileRequest( mapFiles, remote_folder + '/' + remote_name,storage_name= '')
api.upload_file(request)
mapFiles = {
local_name: local_name
}
request = UploadFileRequest( mapFiles, remote_folder + '/' + remote_name,storage_name= '')
api.upload_file(request)
request = MergeRemoteSpreadsheetRequest( book_text_xlsx, remote_folder + '/' + book1_xlsx,folder= remote_folder)
api.merge_remote_spreadsheet(request)
Perl
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
use lib 'lib';
use strict;
use warnings;
use File::Slurp;
use MIME::Base64;
use AsposeCellsCloud::CellsApi;
my $config = AsposeCellsCloud::Configuration->new( client_id => $ENV{'CellsCloudClientId'}, client_secret => $ENV{'CellsCloudClientSecret'});
my $instance = AsposeCellsCloud::CellsApi->new(AsposeCellsCloud::ApiClient->new( $config));
my $remoteFolder = 'TestData/In';
my $book1Xlsx = 'Book1.xlsx';
my $bookTextXlsx = 'BookText.xlsx';
my $upload_file_request = AsposeCellsCloud::Request::UploadFileRequest->new( 'UploadFiles'=>{ $bookTextXlsx => $bookTextXlsx } ,'path'=>$remoteFolder . '/' . $bookTextXlsx );
my $upload_file_request = AsposeCellsCloud::Request::UploadFileRequest->new( 'UploadFiles'=>{ $book1Xlsx => $book1Xlsx } ,'path'=>$remoteFolder . '/' . $book1Xlsx );
my $request = AsposeCellsCloud::Request::MergeRemoteSpreadsheetRequest->new();
$request->{name} = $bookTextXlsx;
$request->{merged_spreadsheet} = $remoteFolder . '/' . $book1Xlsx;
$request->{folder} = $remoteFolder;
$instance->merge_remote_spreadsheet(request=> $request);
Go
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package main
import (
"os"
asposecellscloud "github.com/aspose-cells-cloud/aspose-cells-cloud-go"
)
func main() {
instance := asposecellscloud.NewCellsApiService(os.Getenv("ProductClientId"), os.Getenv("ProductClientSecret"), "https://api.aspose.cloud", "v3.0")
remoteFolder := "TestData/In"
book1Xlsx := "Book1.xlsx"
bookTextXlsx := "BookText.xlsx"
bookTextXlsxRequest := new(asposecellscloud.UploadFileRequest)
bookTextXlsxRequest.UploadFiles = make(map[string]string)
bookTextXlsxRequest.UploadFiles[bookTextXlsx] = bookTextXlsx
bookTextXlsxRequest.Path = remoteFolder + "/" + bookTextXlsx
bookTextXlsxRequest.StorageName =""
instance.UploadFile(bookTextXlsxRequest )
book1XlsxRequest := new(asposecellscloud.UploadFileRequest)
book1XlsxRequest.UploadFiles = make(map[string]string)
book1XlsxRequest.UploadFiles[book1Xlsx] = book1Xlsx
book1XlsxRequest.Path = remoteFolder + "/" + book1Xlsx
book1XlsxRequest.StorageName =""
instance.UploadFile(book1XlsxRequest )
request := new (asposecellscloud.MergeRemoteSpreadsheetRequest)
request.Name = bookTextXlsx
request.MergedSpreadsheet = remoteFolder + "/" + book1Xlsx
request.Folder = remoteFolder
_, httpResponse, err := instance.MergeRemoteSpreadsheet(request)
if err != nil {
t.Error(err)
} else if httpResponse.StatusCode < 200 || httpResponse.StatusCode > 299 {
t.Fail()
}
}