Protect an Excel Workbook This REST API protect an Excel workbook
.
Query Parameter
Parameter Name
Type
Description
folder
string
Original workbook folder.
storageName
string
Storage name.
Request Body Parameter
Parameter Name
Type
Description
protection
WorkbookProtectionRequest
WorkbookProtectionRequest
Parameter Name
Type
Description
ProtectionType
string
ALL/CONTENTS/NONE/OBJECTS/SCENARIOS/STRUCTURE/WINDOWS
Password
string
REST API
API
Type
Description
Swagger Link
/cells/{name}/protection
POST
Protect a document
PostProtectDocument
The OpenAPI Specification defines a publicly accessible programming interface and lets you carry out REST interactions directly from a web browser.
You can use cURL command-line tool to access Aspose.Cells web services easily. The following example shows how to make calls to Cloud API with cURL.
Cloud SDK Family
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 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
// For complete examples and data files, please go to https://github.com/aspose-cells-cloud/aspose-cells-cloud-dotnet/
namespace Aspose.Cells.Cloud.SDK.Example
{
using Aspose.Cells.Cloud.SDK.Api;
using Aspose.Cells.Cloud.SDK.Request;
using System;
public partial class CellsApiExample
{
public void PostProtectWorkbookExample()
{
CellsApi cellsApi = new CellsApi(Environment.GetEnvironmentVariable("CellsCloudTestClientId"), Environment.GetEnvironmentVariable("CellsCloudTestClientSecret"));
PostProtectWorkbookRequest request = new PostProtectWorkbookRequest { name = "Book1.xlsx", protection = new Model.WorkbookProtectionRequest { Password="asposelock", ProtectionType="All"}, folder = "TestData/In" };
cellsApi.PostProtectWorkbook(request);
}
}
}
// Obsolete
//CellsWorkbookApi instance = new CellsWorkbookApi(GetConfiguration());
//string name = "Book1.xlsx";
//WorkbookProtectionRequest protection = new WorkbookProtectionRequest();
//protection.Password = "123";
//protection.ProtectionType = "All";
//string folder = null;
//UpdateDataFile(folder, name);
//var response = instance.CellsWorkbookPostProtectDocument(name, protection, folder);
Java
This file contains 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 java.io.IOException;
import org.junit.Test;
import java.util.ArrayList;
import java.util.List;
import java.io.File;
import java.util.HashMap;
public class Example {
private CellsApi api;
public Example(){
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 localName = "Book1.xlsx";
String remoteName = "Book1.xlsx";
UploadFileRequest uploadFileRequest = new UploadFileRequest();
uploadFileRequest.setPath( remoteFolder + "/" + remoteName );
uploadFileRequest.setStorageName( "");
HashMap<String,File> files = new HashMap<String,File>();
files.put( localName , new File(localName ));
uploadFileRequest.setUploadFiles(files);
api.uploadFile(uploadFileRequest);
PostProtectWorkbookRequest request = new PostProtectWorkbookRequest();
request.setName(remoteName);
request.setProtectWorkbookRequest(protection);
request.setFolder(remoteFolder);
request.setStorageName("");
CellsCloudResponse response = api.postProtectWorkbook(request);
} catch (ApiException e) {
e.printStackTrace();
}catch (IOException e) {
e.printStackTrace();
}
}
}
PHP
This file contains 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
# For complete examples and data files, please go to https://github.com/aspose-cells-cloud/aspose-cells-cloud-php
require_once('vendor\autoload.php');
use \Aspose\Cells\Cloud\Api\CellsApi;
use \Aspose\Cells\Cloud\Request\PostProtectWorkbookRequest;
class Workbook {
public $instance;
public function __construct() {
$this->instance = new CellsApi(getenv("CellsCloudClientId"),getenv("CellsCloudClientSecret"),"v3.0",getenv("CellsCloudApiBaseUrl"));
}
public function postProtectDocument() {
$remoteFolder = "TestData/In";
$localName = "Book1.xlsx";
$remoteName = "Book1.xlsx";
$protection = new \Aspose\Cells\Cloud\Model\ProtectWorkbookRequest();
$protection->setEncryptWithPassword("123456" );
$protection->setAwaysOpenReadOnly( 'true' );
$request = new PostProtectWorkbookRequest();
$request->setName( $remoteName);
$request->setProtectWorkbookRequest( $protection);
$request->setFolder( $remoteFolder);
$request->setStorageName( "");
$this->instance->postProtectWorkbook($request);
}
}
$workbook = new Workbook();
$workbook->postProtectDocument();
?>
Ruby
This file contains 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
# For complete examples and data files, please go to https://github.com/aspose-cells-cloud/aspose-cells-cloud-ruby
require 'aspose_cells_cloud'
class Document
include AsposeCellsCloud
def initialize
#Get client_id and client_secret from https://cloud.aspose.com
@instance = AsposeCellsCloud::CellsApi.new($client_id,$client_secret,$api_version,$baseurl)
end
# Protect document.
def protect_document
name = $BOOK1
protection = AsposeCellsCloud::WorkbookProtectionRequest.new(:Password=>'123',:ProtectionType=>'All')
folder = $TEMPFOLDER
result = @instance.upload_file( folder+"/"+name, ::File.open(File.expand_path("data/"+name),"r") {|io| io.read(io.size) })
expect(result.uploaded.size).to be > 0
result = @instance.cells_workbook_post_protect_document(name, { :protection=>protection, :folder=>folder})
end
end
document = Document.new()
puts document.protect_document
Python
This file contains 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
# For complete examples and data files, please go to https://github.com/aspose-cells-cloud/aspose-cells-cloud-python
import os
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'))
protectWorkbookRequest = ProtectWorkbookRequest(encrypt_with_password= '123456' ,protect_workbook_structure= 'ALL' )
request = PostProtectWorkbookRequest( 'Book1.xlsx', protectWorkbookRequest,folder= 'PythonTest',storage_name= '')
api.post_protect_workbook(request)
Node.js
This file contains 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
const { CellsApi, UploadFileRequest, CellsWorkbook_PostProtectDocumentRequest, WorkbookProtectionRequest } = require("asposecellscloud");
const clientId = process.env.CellsCloudClientId;
const clientSecret = process.env.CellsCloudClientSecret;
const ApiURL = process.env.CellsCloudApiBaseUrl;
const fs = require('fs');
const path = require('path');
const cellsApi = new CellsApi(clientId, clientSecret,"v3.0",ApiURL);
const localPath = "D:/aspose-cells-cloud-node/TestData/"
const filename = "Book1.xlsx";
const data =fs.createReadStream(path.join(localPath, filename));
const req = new UploadFileRequest({
path: "Temp/" + filename,
file: data
});
cellsApi.uploadFile(req)
.then((result) => {
const req = new CellsWorkbook_PostProtectDocumentRequest();
req.name = filename;
req.folder = "Temp";
const protection = new WorkbookProtectionRequest();
protection.password = "123";
protection.protectionType = "All";
req.protection = protection;
cellsApi.cellsWorkbookPostProtectDocument(req)
.then((result) => {
console.log("successful")
}).catch((error) => {
console.error('Unhandled Promise Rejection:', error);
})
})
Android
Swift
This file contains 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"
. "github.com/aspose-cells-cloud/aspose-cells-cloud-go/v25"
)
func main() {
instance := NewCellsApiService(os.Getenv("ProductClientId"), os.Getenv("ProductClientSecret"), "https://api.aspose.cloud", "v3.0")
localFolder := "testdata/"
assemblyTestXlsx := "assemblytest.xlsx"
dataSourceXlsx := "datasource.xlsx"
var mapFiles map[string]string
mapFiles = make(map[string]string)
mapFiles[assemblyTestXlsx] = localFolder + assemblyTestXlsx
mapFiles[dataSourceXlsx] = localFolder + dataSourceXlsx
request := new(PostProtectRequest)
request.File = mapFiles
request.Password = "123456"
_, response, err := instance.PostProtect(request)
if err != nil {
println(err.Error())
}
println(response.StatusCode)
}
Perl
This file contains 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
# For complete examples and data files, please go to https://github.com/aspose-cells-cloud/aspose-cells-cloud-perl/
use strict;
use warnings;
use utf8;
use File::Slurp;
use MIME::Base64;
use AsposeCellsCloud::CellsApi;
my $config = AsposeCellsCloud::Configuration->new( client_id => $ENV{'ProductClientId'}, client_secret => $ENV{'ProductClientSecret'});
my $instance = AsposeCellsCloud::CellsApi->new(AsposeCellsCloud::ApiClient->new( $config));
my $remoteFolder = 'TestData/In';
my $remoteName = 'Book1.xlsx';
my $protection = AsposeCellsCloud::Object::ProtectWorkbookRequest->new();
$protection->{encrypt_with_password} = '123456' ;
$protection->{aways_open_read_only} = 'true' ;
my $request = AsposeCellsCloud::Request::PostProtectWorkbookRequest->new();
$request->{name} = $remoteName;
$request->{protectWorkbookRequest} = $protection;
$request->{folder} = $remoteFolder;
$request->{storage_name} = '';
my $result = $api->post_protect_workbook(request=> $request);
Go
Swift