Zabezpiecz cały arkusz hasłem za pomocą Aspose.Cells

Wstęp

Podczas pracy z plikami Excela w środowisku .NET zapewnienie bezpieczeństwa arkuszy kalkulacyjnych jest najważniejsze. Być może masz poufne dane i chcesz ograniczyć dostęp do niektórych części arkusza kalkulacyjnego. Być może po prostu chcesz zapobiec przypadkowym zmianom. Niezależnie od przyczyny, stosowanie ochrony hasłem do całych arkuszy kalkulacyjnych za pomocą Aspose.Cells jest prostym procesem. W tym samouczku przeprowadzimy Cię przez kroki specjalnie dostosowane do programistów .NET, zapewniając jednocześnie, że zrozumiesz każdy szczegół.

Wymagania wstępne

Zanim zagłębisz się w kod, musisz zadbać o kilka rzeczy, aby rozpocząć pracę z Aspose.Cells:

  1. Visual Studio: Upewnij się, że masz zainstalowane Visual Studio na swoim komputerze. To jest IDE, którego będziemy używać do kodowania w C#.
  2. Biblioteka Aspose.Cells: Musisz pobrać i zainstalować bibliotekę Aspose.Cells. Jeśli jeszcze tego nie zrobiłeś, odwiedźLink do pobrania aby pobrać najnowszą wersję.
  3. Podstawowa znajomość języka C#: Podstawowa znajomość języka programowania C# pomoże Ci lepiej zrozumieć omawiane koncepcje.
  4. .NET Framework: Upewnij się, że Twój projekt jest co najmniej oparty na środowisku .NET Framework 4.0, aby móc efektywnie wykorzystać Aspose.Cells. Jeśli spełnisz te wymagania wstępne, korzystanie z tego przewodnika będzie dla Ciebie bezproblemowe.

Importuj pakiety

Teraz, gdy omówiliśmy już wymagania wstępne, możemy rozpocząć od niezbędnych importów na początku pliku C#:

using System.IO;
using Aspose.Cells;

Ten wiersz kodu importuje przestrzeń nazw Aspose.Cells zawierającą wszystkie klasy i metody, których będziemy używać do tworzenia i manipulowania plikami Excela.

Krok 1: Skonfiguruj katalog dokumentów

Po pierwsze, potrzebujesz wyznaczonego katalogu do przechowywania plików Excel. To właśnie tam zostaną zapisane Twoje dane wyjściowe po zastosowaniu ochrony hasłem.

// Ścieżka do katalogu dokumentów.
string dataDir = "Your Document Directory";
// Utwórz katalog, jeśli jeszcze go nie ma.
bool IsExists = System.IO.Directory.Exists(dataDir);
if (!IsExists)
    System.IO.Directory.CreateDirectory(dataDir);

Tutaj określamy ścieżkę, w której będzie się znajdował plik Excela. Kod sprawdza, czy katalog istnieje; jeśli nie, kod go tworzy. Zawsze wspaniale jest zachować porządek, prawda?

Krok 2: Utwórz nowy skoroszyt

Następnie utwórzmy nowy skoroszyt. Ten krok jest tak prosty, jak brzmi!

// Utwórz nowy skoroszyt.
Workbook wb = new Workbook();

Za pomocą jednego wiersza utworzyliśmy nową instancjęWorkbook obiekt. Jest to zasadniczo pusty skoroszyt programu Excel, który zaczniemy wypełniać i manipulować nim od razu.

Krok 3: Pobierz arkusz roboczy

Teraz weźmy pierwszy arkusz z skoroszytu. To tutaj zastosujemy naszą logikę blokowania.

// Utwórz obiekt arkusza kalkulacyjnego i uzyskaj pierwszy arkusz.
Worksheet sheet = wb.Worksheets[0];

Uzyskując dostęp doWorksheets kolekcji możemy łatwo wybrać pierwszy arkusz roboczy (indeks0). To tutaj zaczną działać środki ochronne.

Krok 4: Odblokuj wszystkie kolumny

Zanim zaczniesz chronić konkretne komórki, najlepiej najpierw odblokować wszystkie kolumny w arkuszu kalkulacyjnym, zwłaszcza jeśli wiesz, że ograniczysz dostęp tylko do kilku konkretnych komórek.

// Przejdź przez wszystkie kolumny arkusza i odblokuj je.
for (int i = 0; i <= 255; i++)
{
    Style style = sheet.Cells.Columns[(byte)i].Style;
    style.IsLocked = false;
    StyleFlag styleflag = new StyleFlag();
    styleflag.Locked = true;
    sheet.Cells.Columns[(byte)i].ApplyStyle(style, styleflag);
}

Ta pętla iteruje po wszystkich kolumnach (od 0 do 255). Uzyskuje dostęp do stylu każdej kolumny i odblokowuje je.StyleFlag ustawiaLocked property na true w celach stylizacyjnych, przygotowując ją do następnych kroków. Często jest to sprzeczne z intuicją, ale pomyśl o odblokowaniu jako o przygotowaniu wszystkich kolumn do swobodnej edycji, dopóki nie zablokujemy jawnie niektórych komórek.

Krok 5: Zablokuj określone komórki

Teraz pora na sedno tego poradnika: zablokujemy konkretne komórki (A1, B1 i C1).

// Zablokuj trzy komórki...tj. 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);

Dla każdej komórki docelowej pobieramy jej bieżący styl, a następnie ją modyfikujemyIsLocked nieruchomość dotrue. Ta akcja skutecznie ogranicza edycję w obrębie tych wybranych komórek. Tak jak zabezpieczenie sejfu w domu na Twoje cenne rzeczy!

Krok 6: Chroń arkusz kalkulacyjny

Po wykonaniu blokady nadszedł czas na pełne zabezpieczenie arkusza kalkulacyjnego:

// Na koniec zabezpiecz arkusz.
sheet.Protect(ProtectionType.All);

Tutaj przywołujemyProtectmetoda na obiekcie arkusza kalkulacyjnego, przekazującProtectionType.All aby ograniczyć wszelkie działania, które mogłyby modyfikować strukturę lub zawartość arkusza kalkulacyjnego. Pomyśl o tym jako o ostatniej warstwie zabezpieczeń — aby upewnić się, że nie nastąpią żadne niechciane zmiany.

Krok 7: Zapisz plik Excel

Na koniec zapiszmy całą naszą ciężką pracę w pliku Excel:

// Zapisz plik Excela.
wb.Save(dataDir + "output.xls", SaveFormat.Excel97To2003);

Ten wiersz zapisuje skoroszyt w określonym katalogu pod nazwą „output.xls”. Jest on zapisywany w formacie Excel 97-2003. Ten format jest wygodny, jeśli chcesz zapewnić zgodność ze starszymi wersjami programu Excel.

Wniosek

I masz to! Udało Ci się skutecznie ochronić cały arkusz kalkulacyjny za pomocą Aspose.Cells dla .NET. Niezależnie od tego, czy będziesz tworzyć raporty finansowe, zarządzać poufnymi danymi, czy po prostu chcesz uniknąć grzebania tam, gdzie nie powinny, zabezpieczenie arkusza kalkulacyjnego zapewnia spokój ducha. Omówione przez nas kroki — od skonfigurowania katalogu po zapisanie chronionego pliku Excel — powinny sprawić, że zarówno początkujący, jak i doświadczeni programiści poczują się jak na spacerze w parku.

Najczęściej zadawane pytania

Czy mogę używać Aspose.Cells z .NET Core?

Tak, Aspose.Cells obsługuje .NET Core. Upewnij się tylko, że masz odpowiednią wersję dla swojego projektu.

Czy istnieją jakieś ograniczenia co do liczby arkuszy kalkulacyjnych, które mogę utworzyć?

Nie, Aspose.Cells pozwala na tworzenie dużej liczby arkuszy kalkulacyjnych. Pamiętaj tylko o zasobach swojego systemu.

Jakie rodzaje ochrony mogę zastosować oprócz ochrony hasłem?

Można ograniczyć takie czynności, jak modyfikowanie struktury, formatowanie komórek, a nawet edytowanie określonych zakresów.

Czy istnieje możliwość późniejszego usunięcia ochrony z arkusza kalkulacyjnego?

Oczywiście! Możesz łatwo zadzwonićUnprotect metodę na arkuszu kalkulacyjnym, gdy chcesz zdjąć ochronę.

Czy mogę przetestować Aspose.Cells przed zakupem?

Tak! Aspose.Cells oferujebezpłatny okres próbny abyś mógł odkryć jego możliwości.