Προστατέψτε τις γραμμές στο φύλλο εργασίας χρησιμοποιώντας το Aspose.Cells

Εισαγωγή

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

Προαπαιτούμενα

Για να μπορέσετε να αρχίσετε να προστατεύετε σειρές σε ένα φύλλο εργασίας, υπάρχουν μερικά πράγματα που πρέπει να έχετε στη θέση τους:

  1. Aspose.Cells για .NET: Βεβαιωθείτε ότι έχετε εγκατεστημένο το Aspose.Cells για .NET στο μηχάνημα ανάπτυξης. Αν δεν το έχετε κάνει ήδη, μπορείτε εύκολα να το κατεβάσετε από τοΣελίδα λήψης Aspose Cells.
  2. Visual Studio ή οποιοδήποτε .NET IDE: Για να εφαρμόσετε τη λύση, πρέπει να έχετε ρυθμίσει ένα περιβάλλον ανάπτυξης. Το Visual Studio είναι μια εξαιρετική επιλογή, αλλά οποιοδήποτε IDE συμβατό με .NET θα λειτουργήσει.
  3. Βασικές γνώσεις C#: Η κατανόηση των βασικών αρχών του προγραμματισμού C# θα σας βοηθήσει να ακολουθήσετε το σεμινάριο και να τροποποιήσετε το παράδειγμα κώδικα για να ταιριάζει στις ανάγκες σας.
  4. Aspose.Cells API Τεκμηρίωση: Εξοικειωθείτε με τοAspose.Cells για τεκμηρίωση .NET για να πάρετε μια επισκόπηση της δομής της τάξης και των μεθόδων που χρησιμοποιούνται στη βιβλιοθήκη. Εάν είστε έτοιμοι με τις προϋποθέσεις, μπορούμε να βουτήξουμε κατευθείαν στην υλοποίηση.

Εισαγωγή πακέτων

Για να ξεκινήσετε, πρέπει να εισαγάγετε τα απαιτούμενα πακέτα. Αυτές οι βιβλιοθήκες είναι ζωτικής σημασίας για την αλληλεπίδραση με αρχεία Excel στο έργο σας C#.

using System.IO;
using Aspose.Cells;

Αφού εισαγάγετε τα απαραίτητα πακέτα, μπορείτε να ξεκινήσετε την κωδικοποίηση. Τώρα, ας αναλύσουμε τη διαδικασία σε μικρότερα βήματα για να σας διευκολύνουμε να την ακολουθήσετε. Κάθε βήμα θα εστιάζεται σε ένα συγκεκριμένο μέρος της υλοποίησης, διασφαλίζοντας ότι μπορείτε να το κατανοήσετε και να το εφαρμόσετε γρήγορα.

Βήμα 1: Δημιουργήστε ένα νέο βιβλίο εργασίας και ένα νέο φύλλο εργασίας

Για να μπορέσετε να εφαρμόσετε οποιεσδήποτε ρυθμίσεις προστασίας, πρέπει να δημιουργήσετε ένα νέο βιβλίο εργασίας και να επιλέξετε το φύλλο εργασίας με το οποίο θέλετε να εργαστείτε. Αυτό θα είναι το έγγραφο εργασίας σας.

// Η διαδρομή προς τον κατάλογο εγγράφων.
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];

Σε αυτό το παράδειγμα, δημιουργούμε ένα νέο βιβλίο εργασίας με ένα μόνο φύλλο εργασίας (το οποίο είναι η προεπιλεγμένη ρύθμιση όταν δημιουργείτε ένα νέο βιβλίο εργασίας χρησιμοποιώντας το Aspose.Cells). Στη συνέχεια, αρπάζουμε το πρώτο φύλλο εργασίας στο βιβλίο εργασίας, το οποίο θα είναι ο στόχος για την προστασία της σειράς μας.

Βήμα 2: Ορισμός Style και StyleFlag Objects

Το επόμενο βήμα είναι ο καθορισμός των αντικειμένων σημαίας στυλ και στυλ. Αυτά τα αντικείμενα σάς επιτρέπουν να τροποποιήσετε τις ιδιότητες του κελιού, όπως αν είναι κλειδωμένο ή ξεκλείδωτο.

// Ορίστε το αντικείμενο στυλ.
Style style;
// Ορίστε το αντικείμενο σημαία στυλ.
StyleFlag flag;

Θα χρησιμοποιήσετε αυτά τα αντικείμενα σε επόμενα βήματα για να προσαρμόσετε τις ιδιότητες του κελιού και να τα εφαρμόσετε στο φύλλο εργασίας σας.

Βήμα 3: Ξεκλειδώστε όλες τις στήλες στο φύλλο εργασίας

Από προεπιλογή, όλα τα κελιά σε ένα φύλλο εργασίας του Excel είναι κλειδωμένα. Ωστόσο, όταν προστατεύετε ένα φύλλο εργασίας, επιβάλλεται η κατάσταση κλειδώματος. Για να διασφαλίσετε ότι προστατεύονται μόνο συγκεκριμένες σειρές ή κελιά, μπορείτε πρώτα να ξεκλειδώσετε όλες τις στήλες. Αυτό το βήμα είναι απαραίτητο εάν θέλετε να προστατεύσετε μόνο ορισμένες σειρές.

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

Σε αυτόν τον κώδικα, κάνουμε βρόχο και στις 256 στήλες του φύλλου εργασίας (τα φύλλα εργασίας του Excel έχουν το πολύ 256 στήλες, με ευρετήριο από 0 έως 255) και ορίζουμεIsLocked ιδιοκτησία σεfalse. Αυτή η ενέργεια διασφαλίζει ότι όλες οι στήλες είναι ξεκλείδωτες, αλλά θα κλειδώσουμε συγκεκριμένες σειρές αργότερα.

Βήμα 4: Κλειδώστε την Πρώτη Σειρά

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

//Αποκτήστε το στυλ της πρώτης σειράς.
style = sheet.Cells.Rows[0].Style;
// Κλειδώστε το.
style.IsLocked = true;
//Τοποθετήστε τη σημαία.
flag = new StyleFlag();
// Ρυθμίστε τη ρύθμιση κλειδώματος.
flag.Locked = true;
// Εφαρμόστε το στυλ στην πρώτη σειρά.
sheet.Cells.ApplyRowStyle(0, style, flag);

Εδώ, έχουμε πρόσβαση στο στυλ της πρώτης σειράς και το ορίζουμεIsLocked ιδιοκτησία σεtrue . Μετά από αυτό, χρησιμοποιούμε τοApplyRowStyle() μέθοδος εφαρμογής του στυλ κλειδώματος σε ολόκληρη τη σειρά. Μπορείτε να επαναλάβετε αυτό το βήμα για να κλειδώσετε τυχόν άλλες σειρές που θέλετε να προστατεύσετε.

Βήμα 5: Προστατέψτε το Φύλλο

Τώρα που ξεκλειδώσαμε και κλειδώσαμε τις απαραίτητες σειρές, ήρθε η ώρα να προστατέψουμε το φύλλο εργασίας. Η προστασία διασφαλίζει ότι κανείς δεν μπορεί να τροποποιήσει τις κλειδωμένες σειρές ή κελιά εκτός και αν αφαιρέσει τον κωδικό πρόσβασης προστασίας (αν παρέχεται).

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

Σε αυτό το βήμα, εφαρμόζουμε προστασία σε ολόκληρο το φύλλο χρησιμοποιώνταςProtectionType.All. Αυτός ο τύπος προστασίας σημαίνει ότι όλες οι πτυχές του φύλλου, συμπεριλαμβανομένων των κλειδωμένων σειρών και κελιών, προστατεύονται. Μπορείτε επίσης να προσαρμόσετε αυτήν την προστασία καθορίζοντας διαφορετικούς τύπους προστασίας εάν χρειάζεται.

Βήμα 6: Αποθηκεύστε το βιβλίο εργασίας

Τέλος, πρέπει να αποθηκεύσουμε το βιβλίο εργασίας αφού εφαρμόσουμε τα απαραίτητα στυλ και προστασία. Το βιβλίο εργασίας μπορεί να αποθηκευτεί σε διάφορες μορφές, όπως Excel 97-2003, Excel 2010 κ.λπ.

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

Αυτή η γραμμή κώδικα αποθηκεύει το βιβλίο εργασίας σε μορφή Excel 97-2003 με τις αλλαγές που εφαρμόζονται. Μπορείτε να αλλάξετε τη μορφή αρχείου σύμφωνα με τις ανάγκες σας επιλέγοντας από μια ποικιλίαSaveFormat επιλογές.

Σύναψη

Και ορίστε το! Έχετε μάθει με επιτυχία πώς να προστατεύετε σειρές σε ένα φύλλο εργασίας χρησιμοποιώντας το Aspose.Cells για .NET. Ακολουθώντας τα παραπάνω βήματα, μπορείτε να ξεκλειδώσετε ή να κλειδώσετε οποιεσδήποτε σειρές ή στήλες όπως απαιτείται και να εφαρμόσετε προστασία για να διασφαλίσετε την ακεραιότητα των δεδομένων σας.

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

Πώς μπορώ να προστατεύσω πολλές σειρές ταυτόχρονα;

Μπορείτε να κάνετε κύκλο σε πολλές σειρές και να εφαρμόσετε το στυλ κλειδώματος σε κάθε μία ξεχωριστά. Απλώς αντικαταστήστε0 με το ευρετήριο σειράς που θέλετε να κλειδώσετε.

Μπορώ να ορίσω κωδικό πρόσβασης για την προστασία φύλλου;

Ναί! Μπορείτε να περάσετε έναν κωδικό πρόσβασης στοsheet.Protect() μέθοδος επιβολής προστασίας με κωδικό πρόσβασης.

Μπορώ να ξεκλειδώσω κελιά αντί για ολόκληρες στήλες;

Ναί! Αντί να ξεκλειδώνετε στήλες, μπορείτε να ξεκλειδώσετε μεμονωμένα κελιά τροποποιώντας τις ιδιότητες στυλ τους.

Τι θα συμβεί αν προσπαθήσω να επεξεργαστώ μια προστατευμένη σειρά;

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

Μπορώ να προστατεύσω συγκεκριμένα εύρη στη σειρά;

Ναί! Μπορείτε να κλειδώσετε μεμονωμένες περιοχές σε μια σειρά, ρυθμίζοντας τοIsLocked ιδιότητα για συγκεκριμένα κελιά εντός του εύρους.