Ocultar dados sensíveis em pastas de trabalho do Excel é uma necessidade comum para empresas que compartilham relatórios internamente ou com parceiros. GroupDocs.Merger Cloud SDK for Java permite que desenvolvedores adicionem proteção por senha a arquivos XLSX por meio de uma API REST simples. Neste guia, você aprenderá como implementar Proteção por senha do Excel via REST em Java, verá um exemplo completo em Java e executará comandos cURL equivalentes para integração na nuvem.

Pré-requisitos e Configuração

Antes de começar, certifique‑se de que você tem o seguinte:

  • Java 8 ou superior instalado.
  • Maven ou Gradle para gerenciamento de dependências.
  • Uma conta do GroupDocs Cloud com client ID e client secret.
  • Acesso ao armazenamento em nuvem onde os arquivos Excel residirão.

Adicione a dependência Maven ao seu pom.xml (ou o snippet equivalente do Gradle):

<dependency>
    <groupId>com.groupdocs</groupId>
    <artifactId>groupdocs-merger-cloud</artifactId>
    <version>25.11</version>
</dependency>

Você pode baixar os JARs mais recentes na página de download. Após adicionar a dependência, crie um objeto de configuração com suas credenciais:

String clientId = "YOUR_CLIENT_ID";
String clientSecret = "YOUR_CLIENT_SECRET";

Configuration config = new Configuration(clientId, clientSecret);
MergerApi mergerApi = new MergerApi(config);

Com o cliente pronto, você pode prosseguir para o fluxo de trabalho real de proteção por senha.

Proteger Excel com senha via REST em Java: Guia passo a passo

Etapa 1: Carregar o Documento de Origem

Defina a localização do arquivo XLSX de origem em seu armazenamento em nuvem.

FileInfo inputFile = new FileInfo();
inputFile.setFilePath("input.xlsx");   // source Excel file

Etapa 2: Defina o caminho de destino

Especifique onde a pasta de trabalho protegida será salva.

String outputPath = "output_protected.xlsx"; // destination file

Etapa 3: Configurar Opções de Proteção por Senha

Crie um objeto ProtectOptions, anexe as informações do arquivo, o caminho de saída e a senha desejada.

ProtectOptions protectOptions = new ProtectOptions();
protectOptions.setFileInfo(inputFile);
protectOptions.setOutputPath(outputPath);
protectOptions.setPassword("MySecretPassword"); // desired password

Etapa 4: Construir a solicitação de proteção de documento

Envolva as opções em um ProtectDocumentRequest.

ProtectDocumentRequest request = new ProtectDocumentRequest(protectOptions);

Etapa 5: Executar a solicitação e tratar a resposta

Chame o método da API e processe quaisquer erros.

try {
    mergerApi.protectDocument(request);
    System.out.println("Excel file has been password protected successfully.");
    System.out.println("Protected file stored at: " + outputPath);
} catch (ApiException e) {
    System.err.println("Error while protecting the Excel file:");
    System.err.println("Status Code: " + e.getCode());
    System.err.println("Message: " + e.getMessage());
}

Para mais detalhes sobre cada classe, consulte a referência da API.

Exemplo completo em funcionamento para proteger Excel com senha via REST em Java

O código a seguir demonstra o processo completo do início ao fim.

import com.groupdocs.merger.cloud.ApiException;
import com.groupdocs.merger.cloud.Configuration;
import com.groupdocs.merger.cloud.api.MergerApi;
import com.groupdocs.merger.cloud.model.FileInfo;
import com.groupdocs.merger.cloud.model.ProtectOptions;
import com.groupdocs.merger.cloud.model.requests.ProtectDocumentRequest;

public class ProtectExcelExample {
    public static void main(String[] args) {
        // Replace with your actual client credentials
        String clientId = "YOUR_CLIENT_ID";
        String clientSecret = "YOUR_CLIENT_SECRET";

// Initialize the API configuration
        Configuration config = new Configuration(clientId, clientSecret);
        MergerApi mergerApi = new MergerApi(config);

// Define input and output file locations (relative to the storage root)
        FileInfo inputFile = new FileInfo();
        inputFile.setFilePath("input.xlsx");          // source Excel file
        String outputPath = "output_protected.xlsx";  // destination file

// Set password protection options
        ProtectOptions protectOptions = new ProtectOptions();
        protectOptions.setFileInfo(inputFile);
        protectOptions.setOutputPath(outputPath);
        protectOptions.setPassword("MySecretPassword"); // desired password

// Build the request
        ProtectDocumentRequest request = new ProtectDocumentRequest(protectOptions);

try {
            // Execute the password protection operation
            mergerApi.protectDocument(request);
            System.out.println("Excel file has been password protected successfully.");
            System.out.println("Protected file stored at: " + outputPath);
        } catch (ApiException e) {
            System.err.println("Error while protecting the Excel file:");
            System.err.println("Status Code: " + e.getCode());
            System.err.println("Message: " + e.getMessage());
        }
    }
}

Nota: Este exemplo de código demonstra a funcionalidade principal. Antes de usá‑lo em seu projeto, certifique‑se de atualizar os caminhos dos arquivos (input.xlsx, output_protected.xlsx) para corresponderem às localizações reais dos seus arquivos, verifique se todas as dependências necessárias estão devidamente instaladas e teste minuciosamente em seu ambiente de desenvolvimento. Se encontrar algum problema, consulte a documentação oficial ou entre em contato com a equipe de suporte para obter assistência.

Proteger Pasta de Trabalho Excel via API REST usando cURL

A seguir está um conjunto de comandos cURL que executam a mesma operação de proteção por senha diretamente nos endpoints REST.

1. Autentique-se e obtenha um token de acesso

curl -X POST "https://api.groupdocs.cloud/v2.0/auth/token" \
     -H "Content-Type: application/json" \
     -d '{
           "client_id": "YOUR_CLIENT_ID",
           "client_secret": "YOUR_CLIENT_SECRET"
         }'

A resposta contém um access_token que você usará nas chamadas subsequentes.

2. Carregue o arquivo XLSX de origem

curl -X PUT "https://api.groupdocs.cloud/v2.0/storage/file/input.xlsx" \
     -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
     -H "Content-Type: application/octet-stream" \
     --data-binary @input.xlsx

3. Solicitar proteção por senha

curl -X POST "https://api.groupdocs.cloud/v2.0/merger/protect" \
     -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
     -H "Content-Type: application/json" \
     -d '{
           "fileInfo": { "filePath": "input.xlsx" },
           "outputPath": "output_protected.xlsx",
           "password": "MySecretPassword"
         }'

4. Baixe a pasta de trabalho protegida

curl -X GET "https://api.groupdocs.cloud/v2.0/storage/file/output_protected.xlsx" \
     -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
     -o output_protected.xlsx

Esses comandos permitem integrar o fluxo de trabalho de proteção em scripts ou pipelines de CI. Para mais detalhes, veja a documentação oficial da API.

Conclusão

Implementar Proteção por senha do Excel via REST em Java é simples com o GroupDocs.Merger Cloud SDK for Java. Seguindo os passos acima, você pode proteger pastas de trabalho do Excel, automatizar o processo em aplicações lado do servidor e manter os dados sensíveis seguros. Lembre‑se de adquirir uma licença adequada para uso em produção; informações de preços estão disponíveis na página do produto e você pode começar com uma licença temporária para avaliar a biblioteca. Feliz codificação!

Perguntas Frequentes

  • Como a proteção por senha do Excel via REST em Java difere da criptografia local?
    A API em nuvem realiza a criptografia no servidor, portanto você não precisa gerenciar bibliotecas criptográficas localmente. O SDK cuida da construção da solicitação e da análise da resposta, simplificando a integração.

  • É possível definir opções de proteção adicionais, como modo somente‑leitura?
    A classe atual ProtectOptions foca na proteção por senha. Para recursos de segurança mais avançados, consulte a referência da API para quaisquer parâmetros mais recentes.

  • Quais formatos de arquivo são suportados para proteção por senha?
    A API Merger atualmente suporta XLSX, DOCX, PPTX, e PDF para criptografia. Consulte a documentação oficial para a lista completa.

  • Preciso de uma licença para executar o exemplo em um ambiente de desenvolvimento?
    Desenvolvimento e testes podem ser realizados com uma licença temporária. Implantações em produção exigem uma licença paga, que pode ser adquirida através da página do produto.

Leia Mais