Nascondere dati sensibili nei cartelle di lavoro Excel è una necessità comune per le aziende che condividono report internamente o con partner. GroupDocs.Merger Cloud SDK for Java consente agli sviluppatori di aggiungere la protezione con password ai file XLSX tramite una semplice API REST. In questa guida imparerai come implementare Proteggi Excel con password via REST in Java, vedere un esempio Java completo e eseguire comandi cURL equivalenti per l’integrazione cloud.
Prerequisiti e Configurazione
Prima di iniziare, assicurati di avere quanto segue:
- Java 8 o versioni successive installato.
- Maven o Gradle per la gestione delle dipendenze.
- Un account GroupDocs Cloud con client ID e client secret.
- Accesso allo storage cloud dove risiederanno i file Excel.
Aggiungi la dipendenza Maven al tuo pom.xml (o lo snippet Gradle equivalente):
<dependency>
<groupId>com.groupdocs</groupId>
<artifactId>groupdocs-merger-cloud</artifactId>
<version>25.11</version>
</dependency>
Puoi scaricare gli ultimi JAR dalla pagina di download. Dopo aver aggiunto la dipendenza, crea un oggetto di configurazione con le tue credenziali:
String clientId = "YOUR_CLIENT_ID";
String clientSecret = "YOUR_CLIENT_SECRET";
Configuration config = new Configuration(clientId, clientSecret);
MergerApi mergerApi = new MergerApi(config);
Con il client pronto, puoi passare al flusso di lavoro di protezione con password.
Proteggi con password Excel tramite REST in Java: Guida passo passo
Passo 1: Carica il documento di origine
Definisci la posizione del file XLSX di origine nel tuo storage cloud.
FileInfo inputFile = new FileInfo();
inputFile.setFilePath("input.xlsx"); // source Excel file
Passo 2: Imposta il percorso di destinazione
Specifica dove verrà salvato il workbook protetto.
String outputPath = "output_protected.xlsx"; // destination file
Passo 3: Configura le opzioni di protezione con password
Crea un oggetto ProtectOptions, allega le informazioni del file, il percorso di output e la password desiderata.
ProtectOptions protectOptions = new ProtectOptions();
protectOptions.setFileInfo(inputFile);
protectOptions.setOutputPath(outputPath);
protectOptions.setPassword("MySecretPassword"); // desired password
Passo 4: Crea la richiesta di protezione del documento
Avvolgi le opzioni in un ProtectDocumentRequest.
ProtectDocumentRequest request = new ProtectDocumentRequest(protectOptions);
Passo 5: Esegui la richiesta e gestisci la risposta
Chiama il metodo API e gestisci eventuali errori.
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());
}
Per ulteriori dettagli su ogni classe, fare riferimento al Riferimento API.
Esempio completo funzionante per proteggere Excel con password tramite REST in Java
Il codice seguente dimostra il processo completo dall’inizio alla fine.
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: Questo esempio di codice dimostra la funzionalità principale. Prima di usarlo nel tuo progetto, assicurati di aggiornare i percorsi dei file (
input.xlsx,output_protected.xlsx) per corrispondere alle tue effettive posizioni dei file, verifica che tutte le dipendenze richieste siano correttamente installate e testa accuratamente nel tuo ambiente di sviluppo. Se incontri problemi, consulta la documentazione ufficiale o contatta il team di supporto per assistenza.
Proteggi la cartella di lavoro Excel tramite REST API usando cURL
Di seguito è un insieme di comandi cURL che eseguono la stessa operazione di protezione con password direttamente contro gli endpoint REST.
1. Autenticare e ottenere un token di accesso
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"
}'
La risposta contiene un access_token che utilizzerai nelle chiamate successive.
2. Carica il file XLSX di origine
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. Richiedi la protezione con password
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. Scarica la cartella di lavoro protetta
curl -X GET "https://api.groupdocs.cloud/v2.0/storage/file/output_protected.xlsx" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-o output_protected.xlsx
Questi comandi ti consentono di integrare il flusso di lavoro di protezione negli script o nelle pipeline CI. Per ulteriori dettagli, consulta la documentazione ufficiale dell’API.
Conclusione
Implementare Protezione con password di Excel via REST in Java è semplice con il GroupDocs.Merger Cloud SDK for Java. Seguendo i passaggi sopra puoi proteggere i workbook di Excel, automatizzare il processo nelle applicazioni lato server e mantenere i dati sensibili al sicuro. Ricorda di acquisire una licenza adeguata per l’uso in produzione; le informazioni sui prezzi sono disponibili nella pagina del prodotto e puoi iniziare con una licenza temporanea per valutare la libreria. Buona programmazione!
Domande frequenti
Come differisce la protezione con password di Excel tramite REST in Java dalla crittografia locale?
L’API cloud esegue la crittografia sul server, quindi non è necessario gestire le librerie crittografiche localmente. L’SDK gestisce la costruzione della richiesta e l’analisi della risposta, semplificando l’integrazione.È possibile impostare opzioni di protezione aggiuntive, come la modalità di sola lettura?
La classeProtectOptionsattuale si concentra sulla protezione con password. Per funzionalità di sicurezza più avanzate, consultare il riferimento API per eventuali nuovi parametri.Quali formati di file sono supportati per la protezione con password?
L’API Merger attualmente supporta XLSX, DOCX, PPTX, e PDF per la crittografia. Consulta la documentazione ufficiale per l’elenco completo.Ho bisogno di una licenza per eseguire l’esempio in un ambiente di sviluppo?
Lo sviluppo e i test possono essere eseguiti con una licenza temporanea. Le distribuzioni in produzione richiedono una licenza a pagamento, che è possibile acquistare tramite la pagina del prodotto.
