Masquer les données sensibles dans les classeurs Excel est une exigence courante pour les entreprises qui partagent des rapports en interne ou avec des partenaires. GroupDocs.Merger Cloud SDK for Java permet aux développeurs d’ajouter une protection par mot de passe aux fichiers XLSX via une API REST simple. Dans ce guide, vous apprendrez comment implémenter protéger Excel par mot de passe via REST en Java, voir un exemple complet en Java, et exécuter les commandes cURL équivalentes pour l’intégration cloud.

Prérequis et configuration

Avant de commencer, assurez‑vous d’avoir ce qui suit :

  • Java 8 ou version supérieure installé.
  • Maven ou Gradle pour la gestion des dépendances.
  • Un compte GroupDocs Cloud avec client ID et client secret.
  • Accès au stockage cloud où les fichiers Excel seront stockés.

Ajoutez la dépendance Maven à votre pom.xml (ou le fragment Gradle équivalent) :

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

Vous pouvez télécharger les dernières JAR depuis la page de téléchargement. Après avoir ajouté la dépendance, créez un objet de configuration avec vos identifiants :

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

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

Une fois le client prêt, vous pouvez passer au flux de travail réel de protection par mot de passe.

Protéger par mot de passe un fichier Excel via REST en Java : guide étape par étape

Étape 1 : Charger le document source

Définissez l’emplacement du fichier XLSX source dans votre stockage cloud.

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

Étape 2 : définir le chemin de destination

Spécifiez où le classeur protégé sera enregistré.

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

Étape 3 : Configurer les options de protection par mot de passe

Créez un objet ProtectOptions, joignez les informations du fichier, le chemin de sortie et le mot de passe souhaité.

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

Étape 4 : Construire la requête de protection du document

Enveloppez les options dans un ProtectDocumentRequest.

ProtectDocumentRequest request = new ProtectDocumentRequest(protectOptions);

Étape 5 : Exécuter la requête et gérer la réponse

Appelez la méthode API et traitez les éventuelles erreurs.

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());
}

Pour plus de détails sur chaque classe, consultez la référence API.

Exemple complet fonctionnel pour protéger par mot de passe un fichier Excel via REST en Java

Le code suivant montre le processus complet du début à la fin.

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());
        }
    }
}

Remarque : Cet exemple de code démontre la fonctionnalité principale. Avant de l’utiliser dans votre projet, assurez‑vous de mettre à jour les chemins de fichiers (input.xlsx, output_protected.xlsx) pour qu’ils correspondent à vos emplacements réels, vérifiez que toutes les dépendances requises sont correctement installées et testez soigneusement dans votre environnement de développement. Si vous rencontrez des problèmes, veuillez consulter la documentation officielle ou contacter l’équipe de support pour obtenir de l’aide.

Protéger le classeur Excel via l’API REST avec cURL

Voici un ensemble de commandes cURL qui effectuent la même opération de protection par mot de passe directement contre les points de terminaison REST.

1. Authentifiez‑vous et obtenez un jeton d’accès

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 réponse contient un access_token que vous utiliserez dans les appels suivants.

2. Télécharger le fichier XLSX source

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. Demander la protection par mot de passe

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. Télécharger le classeur protégé

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

Ces commandes vous permettent d’intégrer le flux de travail de protection dans des scripts ou des pipelines CI. Pour plus de détails, consultez la documentation officielle de l’API.

Conclusion

Implémenter Protection par mot de passe d’Excel via REST en Java est simple avec le GroupDocs.Merger Cloud SDK for Java. En suivant les étapes ci‑dessus, vous pouvez sécuriser les classeurs Excel, automatiser le processus dans les applications côté serveur et protéger les données sensibles. N’oubliez pas d’obtenir une licence appropriée pour la production ; les informations tarifaires sont disponibles sur la page du produit et vous pouvez commencer avec une licence temporaire pour évaluer la bibliothèque. Bon codage !

FAQs

  • En quoi la protection par mot de passe d’Excel via REST en Java diffère-t-elle du chiffrement local ?
    L’API cloud effectue le chiffrement sur le serveur, vous n’avez donc pas besoin de gérer les bibliothèques cryptographiques localement. Le SDK gère la construction des requêtes et l’analyse des réponses, simplifiant l’intégration.

  • Est-il possible de définir des options de protection supplémentaires, comme le mode lecture seule ?
    La classe ProtectOptions actuelle se concentre sur la protection par mot de passe. Pour des fonctionnalités de sécurité plus avancées, consultez la référence API pour d’éventuels nouveaux paramètres.

  • Quels formats de fichiers sont pris en charge pour la protection par mot de passe ?
    L’API Merger prend actuellement en charge XLSX, DOCX, PPTX, et PDF pour le chiffrement. Consultez la documentation officielle pour la liste complète.

  • Ai-je besoin d’une licence pour exécuter l’exemple dans un environnement de développement ?
    Le développement et les tests peuvent être effectués avec une licence temporaire. Les déploiements en production nécessitent une licence payante, que vous pouvez acheter via la page produit.

Lire la suite