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 atualProtectOptionsfoca 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.
