Protéger et déprotéger les fichiers Excel

Microsoft Excel est un logiciel populaire pour la gestion des données dans les organisations. Cela est principalement dû à ses fonctionnalités avancées de manipulation et de représentation des données. En cette ère technologique, les documents sont partagés virtuellement au lieu de copies imprimées. Ces fichiers peuvent contenir des données complexes et sensibles. Ainsi, pour maintenir l’intégrité de ces fichiers, vous devrez peut-être les protéger contre toute modification. Les fonctions de protection d’Excel sont utiles à cette fin. Dans cet article, vous apprendrez comment protéger et déprotéger des fichiers Excel par programmation à l’aide de C++.

API C++ pour protéger et déprotéger les fichiers Excel - Téléchargement gratuit

Aspose.Cells for C++ est une bibliothèque C++ native qui vous permet de manipuler des fichiers Excel sans nécessiter l’installation de Microsoft Excel. Par conséquent, il est utilisé pour automatiser de nombreux workflows Excel. L’API fournit un ensemble de fonctionnalités utiles, notamment la protection et la déprotection des fichiers Excel. Vous pouvez soit installer l’API via NuGet ou la télécharger directement à partir de la section Téléchargements.

PM> Install-Package Aspose.Cells.Cpp

Protégez les fichiers Excel à l’aide de C++

Aspose.Cells for C++ fournit les types de protection suivants pour protéger les fichiers Excel.

  • Tout : Protégez l’ensemble des données afin que l’utilisateur ne puisse rien modifier.
  • Contenu : Protégez le contenu de la feuille de calcul.
  • Objets : protégez les objets de la feuille de calcul afin que l’utilisateur ne puisse pas modifier les objets de dessin.
  • Scénarios : protégez les scénarios dans la feuille de calcul.
  • Structure : Protégez la structure du classeur.
  • Windows : Protège les fenêtres enregistrées contre toute modification.
  • Aucun : Aucune protection appliquée.

Voici les étapes de protection des fichiers Excel à l’aide de C++.

L’exemple de code suivant montre comment protéger des fichiers Excel à l’aide de C++.

// Chemin du répertoire source.
StringPtr srcDir = new String("SourceDirectory\\");

// Chemin du répertoire de sortie.
StringPtr outDir = new String("OutputDirectory\\");

// Charger le fichier Excel
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(srcDir->StringAppend(new String("sampleExcelFile.xlsx")));

// Protéger le classeur en spécifiant le type de protection
workbook->Protect(ProtectionType::ProtectionType_All, new String("12345"));

// Enregistrez le fichier Excel
workbook->Save(outDir->StringAppend(new String("sampleExcelFile_protected_out.xlsx")));

Déprotéger le classeur Excel à l’aide de C++

Voici les étapes pour déprotéger un fichier Excel.

L’exemple de code suivant montre comment déprotéger des fichiers Excel.

// Chemin du répertoire source.
StringPtr srcDir = new String("SourceDirectory\\");

// Chemin du répertoire de sortie.
StringPtr outDir = new String("OutputDirectory\\");

// Charger le fichier Excel
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(srcDir->StringAppend(new String("sampleExcelFileProtected.xlsx")));

// Déprotéger le classeur
workbook->Unprotect(new String("12345"));

// Définir le mot de passe sur null
workbook->GetISettings()->SetPassword(NULL);

// Enregistrez le fichier Excel
workbook->Save(outDir->StringAppend(new String("sampleExcelFileUnprotected_out.xlsx")));

Protéger la feuille de calcul Excel à l’aide de C++

En plus de protéger les fichiers Excel, vous pouvez également protéger des feuilles de calcul individuelles. Veuillez suivre les étapes suivantes pour sauvegarder les feuilles de calcul Excel.

L’exemple de code suivant montre comment protéger une feuille de calcul Excel.

// Chemin du répertoire source.
StringPtr srcDir = new String("SourceDirectory\\");

// Chemin du répertoire de sortie.
StringPtr outDir = new String("OutputDirectory\\");

// Charger le fichier Excel
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(srcDir->StringAppend(new String("sampleExcelFile.xlsx")));

// Accéder à la première feuille de calcul du fichier Excel
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);

// Accéder à la protection de la feuille de calcul
intrusive_ptr<IProtection> protection = worksheet->GetIProtection();

// Les 3 méthodes suivantes sont uniquement pour Excel 2000 et les formats antérieurs
protection->SetAllowEditingContent(false);
protection->SetAllowEditingObject(false);
protection->SetAllowEditingScenario(false);

// Protégez la première feuille de calcul avec un mot de passe "12345"
protection->SetPassword(new String("12345"));

// Enregistrez le fichier Excel
workbook->Save(outDir->StringAppend(new String("sampleExcelFile_protectedWorksheet_out.xlsx")));

Déprotéger la feuille de calcul Excel à l’aide de C++

Voici les étapes pour déprotéger les feuilles de calcul Excel.

L’exemple de code suivant montre comment déprotéger une feuille de calcul Excel à l’aide de C++.

// Chemin du répertoire source.
StringPtr srcDir = new String("SourceDirectory\\");

// Chemin du répertoire de sortie.
StringPtr outDir = new String("OutputDirectory\\");

// Charger le fichier Excel
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(srcDir->StringAppend(new String("sampleExcelFileProtectedWorksheet.xlsx")));

// Accéder à la première feuille de calcul du fichier Excel
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);

// Déprotéger la feuille de calcul
worksheet->Unprotect(new String("12345"));

// Enregistrez le fichier Excel
workbook->Save(outDir->StringAppend(new String("sampleExcelFileUnprotectedWorksheet_out.xlsx")));

Obtenez une licence gratuite

Vous pouvez essayer l’API sans limites d’évaluation en demandant une licence temporaire gratuite.

Conclusion

Dans cet article, vous avez appris comment protéger et déprotéger des fichiers Excel à l’aide de C++. En plus de cela, vous avez également appris à protéger les feuilles de calcul contre les modifications. Aspose.Cells for C++ est une vaste API de manipulation d’Excel pour automatiser des tâches telles que le remplacement de texte dans des cellules ou le traitement de données complexes représentées dans des graphiques et des tableaux. Vous pouvez explorer l’API en détail en utilisant la documentation officielle.

Voir également