Chroń określoną kolumnę w arkuszu programu Excel

Podczas pracy z arkuszami programu Excel w języku C# często konieczne jest zabezpieczenie określonych kolumn, aby zapobiec przypadkowym modyfikacjom. W tym samouczku przeprowadzimy Cię przez proces ochrony określonej kolumny w arkuszu programu Excel przy użyciu biblioteki Aspose.Cells dla .NET. Wyjaśnimy krok po kroku kod źródłowy C# wymagany do tego zadania. Więc zacznijmy!

Omówienie ochrony określonych kolumn w arkuszu programu Excel

Ochrona określonych kolumn w arkuszu programu Excel gwarantuje, że kolumny te pozostaną zablokowane i nie będzie można ich modyfikować bez odpowiedniej autoryzacji. Jest to szczególnie przydatne, gdy chcesz ograniczyć dostęp do edycji niektórych danych lub formuł, jednocześnie umożliwiając użytkownikom interakcję z pozostałą częścią arkusza. Biblioteka Aspose.Cells dla .NET zapewnia kompleksowy zestaw funkcji do programowego manipulowania plikami Excel, w tym ochronę kolumn.

Konfigurowanie środowiska

Zanim zaczniemy, upewnij się, że masz zainstalowaną bibliotekę Aspose.Cells for .NET w swoim środowisku programistycznym. Możesz pobrać bibliotekę z oficjalnej strony Aspose i zainstalować ją za pomocą dostarczonego instalatora.

Tworzenie nowego skoroszytu i arkusza

Aby rozpocząć ochronę określonych kolumn, musimy utworzyć nowy skoroszyt i arkusz za pomocą Aspose.Cells dla .NET. Oto fragment kodu:

//Ścieżka do katalogu dokumentów.
string dataDir = "YOUR DOCUMENT DIRECTORY";

// Utwórz katalog, jeśli jeszcze nie istnieje.
bool IsExists = System.IO.Directory.Exists(dataDir);
if (!IsExists)
    System.IO.Directory.CreateDirectory(dataDir);

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

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

Pamiętaj, aby zastąpić „KATALOG TWOJEGO DOKUMENTU” rzeczywistą ścieżką katalogu, w którym chcesz zapisać plik Excel.

Definiowanie stylu i obiektów flagi stylu

Aby ustawić określone style i flagi zabezpieczające dla kolumn, musimy zdefiniować styl i obiekty flagi stylu. Oto fragment kodu:

// Zdefiniuj obiekt stylu.
Style style;

// Zdefiniuj obiekt flagi stylu.
StyleFlag flag;

Przechodzenie przez kolumny i odblokowywanie ich

Następnie musimy przejść przez wszystkie kolumny w arkuszu i je odblokować. Dzięki temu wszystkie kolumny będą edytowalne z wyjątkiem tej, którą chcemy chronić. Oto fragment kodu:

// Przejdź przez wszystkie kolumny w arkuszu i odblokuj je.
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);
}

Blokowanie określonej kolumny

Teraz zablokujmy konkretną kolumnę. W tym przykładzie zablokujemy pierwszą kolumnę (indeks kolumny 0). Oto fragment kodu:

// Uzyskaj styl pierwszej kolumny.
style = sheet.Cells.Columns[0].Style;

// Zablokuj to.
style.IsLocked = true;

Stosowanie stylów do kolumn

Po zablokowaniu konkretnej kolumny musimy zastosować do niej styl i flagę. Oto fragment kodu:

//Utwórz instancję flagi.
flag = new StyleFlag();

// Ustaw ustawienie blokady.
flag.Locked = true;

// Zastosuj styl do pierwszej kolumny.
sheet.Cells.Columns[0].ApplyStyle(style, flag);

Ochrona arkusza

Aby zakończyć ochronę, musimy zabezpieczyć arkusz, aby mieć pewność, że zablokowanych kolumn nie będzie można modyfikować. Oto fragment kodu:

// Chroń prześcieradło.
sheet.Protect(ProtectionType.All);

Zapisywanie pliku Excel

Na koniec zapiszemy zmodyfikowany plik Excel w wybranej lokalizacji. Oto fragment kodu:

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

Pamiętaj, aby zastąpić „output.out.xls” żądaną nazwą pliku i rozszerzeniem.

Przykładowy kod źródłowy dla funkcji Chroń określoną kolumnę w arkuszu programu Excel przy użyciu Aspose.Cells dla platformy .NET

//Ścieżka do katalogu dokumentów.
string dataDir = "YOUR DOCUMENT DIRECTORY";
// Utwórz katalog, jeśli jeszcze nie istnieje.
bool IsExists = System.IO.Directory.Exists(dataDir);
if (!IsExists)
    System.IO.Directory.CreateDirectory(dataDir);
// Utwórz nowy skoroszyt.
Workbook wb = new Workbook();
// Utwórz obiekt arkusza i uzyskaj pierwszy arkusz.
Worksheet sheet = wb.Worksheets[0];
// Zdefiniuj obiekt stylu.
Style style;
// Zdefiniuj obiekt styleflag.
StyleFlag flag;
// Przejdź przez wszystkie kolumny w arkuszu i odblokuj je.
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);
}
// Uzyskaj styl pierwszej kolumny.
style = sheet.Cells.Columns[0].Style;
// Zablokuj to.
style.IsLocked = true;
//Utwórz instancję flagi.
flag = new StyleFlag();
// Ustaw ustawienie blokady.
flag.Locked = true;
// Zastosuj styl do pierwszej kolumny.
sheet.Cells.Columns[0].ApplyStyle(style, flag);
// Chroń prześcieradło.
sheet.Protect(ProtectionType.All);
// Zapisz plik Excela.
wb.Save(dataDir + "output.out.xls", SaveFormat.Excel97To2003);

Wniosek

W tym samouczku wyjaśniliśmy krok po kroku proces ochrony określonej kolumny w arkuszu programu Excel przy użyciu biblioteki Aspose.Cells for .NET. Zaczęliśmy od utworzenia nowego skoroszytu i arkusza, zdefiniowania stylu i obiektów flagi stylu, a następnie przystąpiliśmy do odblokowywania i blokowania określonych kolumn. Na koniec zabezpieczyliśmy arkusz i zapisaliśmy zmodyfikowany plik Excel. Postępując zgodnie z tym przewodnikiem, powinieneś być teraz w stanie chronić określone kolumny w arkuszach programu Excel przy użyciu języków C# i Aspose.Cells dla .NET.

Często zadawane pytania (FAQ)

Czy mogę chronić wiele kolumn za pomocą tej metody?

Tak, możesz chronić wiele kolumn, odpowiednio modyfikując kod. Po prostu przejdź przez żądany zakres kolumn i zastosuj style blokowania i flagi.

Czy możliwe jest zabezpieczenie chronionego arkusza hasłem?

Tak, możesz dodać ochronę hasłem do chronionego arkusza, podając hasło podczas wywoływaniaProtect metoda.

Czy Aspose.Cells dla .NET obsługuje inne formaty plików Excel?

Tak, Aspose.Cells dla .NET obsługuje różne formaty plików Excel, w tym XLS, XLSX, XLSM i inne.

Czy mogę chronić określone wiersze zamiast kolumn?

Tak, możesz zmodyfikować kod, aby chronić określone wiersze zamiast kolumn, stosując style i flagi do komórek wierszy zamiast komórek kolumn.