Προστασία συγκεκριμένων κελιών σε φύλλο εργασίας του Excel

Σε αυτό το σεμινάριο, θα εξετάσουμε τον πηγαίο κώδικα C# που χρησιμοποιεί τη βιβλιοθήκη Aspose.Cells για την προστασία συγκεκριμένων κελιών σε ένα υπολογιστικό φύλλο Excel. Θα περιηγηθούμε σε κάθε βήμα του κώδικα και θα εξηγήσουμε πώς λειτουργεί. Ακολουθήστε προσεκτικά τις οδηγίες για να έχετε τα επιθυμητά αποτελέσματα.

Βήμα 1: Προαπαιτούμενα

Πριν ξεκινήσετε, βεβαιωθείτε ότι έχετε εγκαταστήσει τη βιβλιοθήκη Aspose.Cells για .NET. Μπορείτε να το αποκτήσετε από την επίσημη ιστοσελίδα του Aspose. Βεβαιωθείτε επίσης ότι έχετε μια πρόσφατη έκδοση του Visual Studio ή οποιουδήποτε άλλου περιβάλλοντος ανάπτυξης C#.

Βήμα 2: Εισαγάγετε τους απαιτούμενους χώρους ονομάτων

Για να χρησιμοποιήσουμε τη βιβλιοθήκη Aspose.Cells, πρέπει να εισαγάγουμε τους απαραίτητους χώρους ονομάτων στον κώδικά μας. Προσθέστε τις ακόλουθες γραμμές στην κορυφή του αρχείου πηγής C#:

using Aspose.Cells;

Βήμα 3: Δημιουργία βιβλίου εργασίας του Excel

Σε αυτό το βήμα, θα δημιουργήσουμε ένα νέο βιβλίο εργασίας του Excel. Χρησιμοποιήστε τον ακόλουθο κώδικα για να δημιουργήσετε ένα βιβλίο εργασίας του Excel:

// Διαδρομή στον κατάλογο εγγράφων.
string dataDir = "YOUR_DIRECTORY_OF_DOCUMENTS";

// Δημιουργήστε ένα νέο βιβλίο εργασίας.
Workbook wb = new Workbook();

Φροντίστε να αντικαταστήσετε"YOUR_DOCUMENTS_DIR" με την κατάλληλη διαδρομή προς τον κατάλογο των εγγράφων σας.

Βήμα 4: Δημιουργία υπολογιστικού φύλλου

Τώρα που δημιουργήσαμε το βιβλίο εργασίας του Excel, ας δημιουργήσουμε ένα φύλλο εργασίας και ας πάρουμε το πρώτο φύλλο. Χρησιμοποιήστε τον ακόλουθο κώδικα:

// Δημιουργήστε ένα αντικείμενο υπολογιστικού φύλλου και λάβετε το πρώτο φύλλο.
Worksheet sheet = wb.Worksheets[0];

Βήμα 5: Καθορισμός του Στυλ

Σε αυτό το βήμα, θα ορίσουμε το στυλ που θα εφαρμοστεί σε συγκεκριμένα κελιά. Χρησιμοποιήστε τον ακόλουθο κώδικα:

// Ορισμός του αντικειμένου στυλ.
Styling styling;

Βήμα 6: Κάντε βρόχο για να ξεκλειδώσετε όλες τις στήλες

Τώρα θα κάνουμε βρόχο σε όλες τις στήλες στο φύλλο εργασίας και θα τις ξεκλειδώσουμε. Χρησιμοποιήστε τον ακόλουθο κώδικα:

// Κάντε βρόχο σε όλες τις στήλες του φύλλου εργασίας και ξεκλειδώστε τις.
for (int i = 0; i <= 255; i++)
{
     style = sheet.Cells.Columns[(byte)i].Style;
     style. IsLocked = false;
     sheet.Cells.Columns[(byte)i].ApplyStyle(style);
}

Βήμα 7: Κλείδωμα συγκεκριμένων κυψελών

Σε αυτό το βήμα, θα κλειδώσουμε συγκεκριμένα κελιά. Χρησιμοποιήστε τον ακόλουθο κώδικα:

//Κλείδωμα και των τριών κελιών... δηλαδή 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);

Βήμα 8: Προστασία του φύλλου εργασίας

Τέλος, θα προστατεύσουμε το φύλλο εργασίας για να αποτρέψουμε την τροποποίηση συγκεκριμένων κελιών. Χρησιμοποιήστε τον ακόλουθο κώδικα:

// Προστατέψτε το φύλλο εργασίας.
sheet.Protect(ProtectionType.All);

Βήμα 9: Αποθήκευση του αρχείου Excel

Τώρα θα αποθηκεύσουμε το τροποποιημένο αρχείο Excel. Χρησιμοποιήστε τον ακόλουθο κώδικα:

// Αποθηκεύστε το αρχείο Excel.
wb.Save(dataDir + "output.out.xls", SaveFormat.Excel97To2003);

Βεβαιωθείτε ότι έχετε καθορίσει τη σωστή διαδρομή για την αποθήκευση του τροποποιημένου αρχείου Excel.

Δείγμα πηγαίου κώδικα για Προστασία συγκεκριμένων κελιών σε φύλλο εργασίας του Excel χρησιμοποιώντας Aspose.Cells για .NET

//Η διαδρομή προς τον κατάλογο εγγράφων.
string dataDir = "YOUR DOCUMENT DIRECTORY";
// Δημιουργήστε κατάλογο εάν δεν υπάρχει ήδη.
bool IsExists = System.IO.Directory.Exists(dataDir);
if (!IsExists)
    System.IO.Directory.CreateDirectory(dataDir);
// Δημιουργήστε ένα νέο βιβλίο εργασίας.
Workbook wb = new Workbook();
// Δημιουργήστε ένα αντικείμενο φύλλου εργασίας και αποκτήστε το πρώτο φύλλο.
Worksheet sheet = wb.Worksheets[0];
// Ορίστε το αντικείμενο στυλ.
Style style;
// Ορίστε το αντικείμενο σημαία στυλ
StyleFlag styleflag;
// Κάντε βρόχο σε όλες τις στήλες του φύλλου εργασίας και ξεκλειδώστε τις.
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);
}
// Κλειδώστε τα τρία κελιά...δηλαδή 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);
// Τέλος, Προστατέψτε το φύλλο τώρα.
sheet.Protect(ProtectionType.All);
// Αποθηκεύστε το αρχείο excel.
wb.Save(dataDir + "output.out.xls", SaveFormat.Excel97To2003);

συμπέρασμα

Συγχαρητήρια ! Τώρα έχετε τον πηγαίο κώδικα C# που σας επιτρέπει να προστατεύετε συγκεκριμένα κελιά σε ένα φύλλο εργασίας του Excel χρησιμοποιώντας τη βιβλιοθήκη Aspose.Cells για .NET. Μη διστάσετε να προσαρμόσετε τον κώδικα για να ταιριάζει στις συγκεκριμένες ανάγκες σας.

Συχνές ερωτήσεις (Συχνές ερωτήσεις)

Λειτουργεί αυτός ο κώδικας με πρόσφατες εκδόσεις του Excel;

Ναι, αυτός ο κώδικας λειτουργεί με πρόσφατες εκδόσεις του Excel, συμπεριλαμβανομένων αρχείων σε μορφή Excel 2010 και άνω.

Μπορώ να προστατεύσω άλλα κύτταρα εκτός από τα A1, B1 και C1;

Ναι, μπορείτε να τροποποιήσετε τον κώδικα για να κλειδώσετε άλλα συγκεκριμένα κελιά προσαρμόζοντας τις αναφορές κελιών στις αντίστοιχες γραμμές κώδικα.

Πώς μπορώ να ξεκλειδώσω ξανά κλειδωμένα κελιά;

Μπορείς να χρησιμοποιήσειςSetStyle μέθοδος μεIsLocked οριστεί σεfalse για να ξεκλειδώσετε τα κελιά.

Μπορώ να προσθέσω περισσότερα φύλλα εργασίας στο βιβλίο εργασίας;

Ναι, μπορείτε να προσθέσετε άλλα φύλλα εργασίας στο βιβλίο εργασίας χρησιμοποιώντας τοWorksheets.Add()μέθοδο και επαναλάβετε τα βήματα προστασίας κελιών για κάθε φύλλο εργασίας.

Πώς μπορώ να αλλάξω τη μορφή αποθήκευσης του αρχείου Excel;

Μπορείτε να αλλάξετε τη μορφή αποθήκευσης χρησιμοποιώντας τοSaveFormat μέθοδο με την επιθυμητή μορφή, για παράδειγμαSaveFormat.Xlsx για Excel 2007 και μεταγενέστερα.