Protégez des cellules spécifiques dans une feuille de calcul à l'aide d'Aspose.Cells
Introduction
Dans ce didacticiel, nous vous expliquerons comment protéger des cellules spécifiques dans une feuille de calcul Excel. À la fin, vous serez en mesure de verrouiller des cellules en toute confiance comme un pro, empêchant ainsi les modifications non autorisées tout en gardant votre feuille de calcul flexible si nécessaire.
Prérequis
Avant de plonger dans les détails, assurons-nous que vous disposez de tout ce dont vous avez besoin pour suivre ce tutoriel en douceur :
- Visual Studio – Si vous ne l’avez pas déjà fait, téléchargez et installez Visual Studio. Il s’agira de l’environnement principal dans lequel vous exécuterez vos applications .NET.
- Aspose.Cells pour .NET – Vous aurez besoin de la bibliothèque Aspose.Cells pour travailler avec des fichiers Excel dans vos applications .NET. Si vous ne l’avez pas encore installée, vous pouvez récupérer la dernière version à partir duSite Web d’Aspose.
- .NET Framework ou .NET Core – Ce tutoriel fonctionne avec .NET Framework et .NET Core. Assurez-vous simplement que votre projet est compatible avec Aspose.Cells. Une fois ces éléments en place, vous êtes prêt à commencer.
Paquets d’importation
Avant de passer au guide étape par étape, vous devez vous assurer d’importer les espaces de noms nécessaires pour travailler avec Aspose.Cells. Dans votre projet, incluez les instructions d’importation suivantes en haut de votre fichier :
using System.IO;
using Aspose.Cells;
Ces espaces de noms vous permettront d’interagir avec les fichiers Excel et les classes nécessaires au style et à la protection des cellules de la feuille de calcul. Maintenant, décomposons-le en étapes simples pour protéger des cellules spécifiques de votre feuille de calcul à l’aide d’Aspose.Cells pour .NET. Nous protégerons les cellules A1, B1 et C1, tout en laissant le reste de la feuille de calcul ouvert pour les modifications.
Étape 1 : Créer un nouveau classeur et une nouvelle feuille de calcul
Tout d’abord, vous devez créer un nouveau classeur (fichier Excel) et une feuille de calcul à l’intérieur. C’est là que vous appliquerez votre protection cellulaire.
// Le chemin vers le répertoire des documents.
string dataDir = "Your Document Directory";
// Créez un répertoire s'il n'est pas déjà présent.
bool IsExists = System.IO.Directory.Exists(dataDir);
if (!IsExists)
System.IO.Directory.CreateDirectory(dataDir);
// Créer un nouveau classeur.
Workbook wb = new Workbook();
// Créez un objet de feuille de calcul et obtenez la première feuille.
Worksheet sheet = wb.Worksheets[0];
Dans cette étape, vous créez également un répertoire pour stocker le fichier Excel résultant s’il n’existe pas déjà.Workbook
la classe initialise un nouveau fichier Excel etWorksheets[0]
nous permet de travailler avec la première feuille du classeur.
Étape 2 : déverrouiller toutes les colonnes
Ensuite, vous déverrouillerez toutes les colonnes de la feuille de calcul. Cela garantit que, par défaut, toutes les cellules de la feuille de calcul sont modifiables. Nous verrouillerons ensuite uniquement les cellules que nous souhaitons protéger.
// Définir l'objet de style.
Style style;
// Définir l'objet styleflag
StyleFlag styleflag;
// Parcourez toutes les colonnes de la feuille de calcul et déverrouillez-les.
for (int i = 0; i <= 255; i++)
{
style = sheet.Cells.Columns[(byte)i].Style;
style.IsLocked = false;
styleflag = new StyleFlag();
styleflag.Locked = true;
sheet.Cells.Columns[(byte)i].ApplyStyle(style, styleflag);
}
Dans ce bloc de code, nous parcourons toutes les colonnes (jusqu’à 255) et définissons leIsLocked
propriété àfalse
Cela déverrouille essentiellement toutes les cellules de ces colonnes, les rendant modifiables par défaut. Nous appliquons ensuite le style à la colonne avec leApplyStyle()
méthode.
Étape 3 : Verrouiller des cellules spécifiques (A1, B1, C1)
Maintenant que toutes les colonnes sont déverrouillées, nous allons nous concentrer sur le verrouillage de cellules spécifiques, à savoir A1, B1 et C1. Nous allons modifier les styles de cellule et définir leursIsLocked
propriété àtrue
.
// Verrouillez les trois cellules... c'est-à-dire A1, B1, C1.
style = sheet.Cells["A1"].GetStyle();
style.IsLocked = true;
sheet.Cells["A1"].SetStyle(style);
style = sheet.Cells["B1"].GetStyle();
style.IsLocked = true;
sheet.Cells["B1"].SetStyle(style);
style = sheet.Cells["C1"].GetStyle();
style.IsLocked = true;
sheet.Cells["C1"].SetStyle(style);
Cette étape garantit que les cellules A1, B1 et C1 sont verrouillées. Ce sont ces cellules qui seront protégées et ne pourront plus être modifiées une fois la protection de la feuille de calcul appliquée.
Étape 4 : Protégez la feuille de calcul
Une fois les cellules nécessaires verrouillées, l’étape suivante consiste à protéger l’ensemble de la feuille de calcul. Cette étape rend les cellules verrouillées (A1, B1, C1) non modifiables, tandis que les autres cellules restent ouvertes pour les modifications.
// Enfin, protégez la feuille maintenant.
sheet.Protect(ProtectionType.All);
LeProtect
La méthode est appelée sur la feuille de calcul, spécifiant que tous les aspects de la feuille doivent être protégés. Cela verrouille les cellules spécifiques qui ont été marquées avecIsLocked = true
et garantit qu’ils ne peuvent pas être modifiés par les utilisateurs.
Étape 5 : Enregistrer le classeur
Une fois les cellules verrouillées et la feuille protégée, vous pouvez enregistrer le classeur à l’emplacement souhaité.
// Enregistrez le fichier Excel.
wb.Save(dataDir + "output.out.xls", SaveFormat.Excel97To2003);
Cette étape enregistre le classeur dans ledataDir
dossier avec le nom de fichieroutput.out.xls
. Vous pouvez modifier le nom du fichier et le répertoire en fonction de vos besoins. Le fichier est enregistré au format Excel 97-2003, mais vous pouvez l’ajuster en fonction de vos besoins.
Conclusion
La protection de cellules spécifiques dans votre feuille de calcul Excel à l’aide d’Aspose.Cells pour .NET est un processus simple. En suivant les étapes ci-dessus, vous pouvez verrouiller certaines cellules tout en permettant à d’autres de rester modifiables. Cette fonctionnalité est extrêmement utile lorsque vous partagez des classeurs avec d’autres personnes, car elle vous aide à contrôler les données qui peuvent être modifiées et celles qui doivent rester protégées. Que vous travailliez sur des données sensibles ou que vous empêchiez simplement les modifications accidentelles, Aspose.Cells offre une solution flexible et puissante.
FAQ
Comment puis-je protéger une gamme spécifique de cellules au lieu de quelques-unes seulement ?
Vous pouvez modifier le code pour parcourir une plage spécifique de cellules ou de colonnes et les verrouiller, au lieu de verrouiller manuellement des cellules individuelles.
Puis-je ajouter des mots de passe pour protéger la feuille de calcul ?
Oui, vous pouvez spécifier un mot de passe lors de l’appel duProtect()
méthode permettant d’empêcher les utilisateurs de déprotéger la feuille sans le mot de passe correct.
Puis-je protéger des lignes ou des colonnes spécifiques au lieu de cellules ?
Oui, Aspose.Cells vous permet de verrouiller des lignes ou des colonnes entières en modifiant leIsLocked
propriété pour les lignes ou les colonnes, similaire à la façon dont nous avons verrouillé les cellules.
Comment puis-je déprotéger une feuille de calcul ?
Pour déprotéger une feuille de calcul, utilisez leUnprotect()
méthode, fournissant éventuellement le mot de passe si un mot de passe a été défini lors de la protection.
Puis-je utiliser Aspose.Cells pour d’autres manipulations Excel, telles que l’ajout de formules ou de graphiques ?
Absolument ! Aspose.Cells est une bibliothèque robuste qui vous permet d’effectuer une large gamme d’opérations Excel, notamment l’ajout de formules, la création de graphiques et bien plus encore.