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 classe ProtectOptions attuale 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.

Read More