Adott cellák védelme a munkalapon az Aspose.Cells használatával

Bevezetés

Ebben az oktatóanyagban végigvezetjük az Excel munkalap egyes celláinak védelmén. A végére profi módon magabiztosan zárolhatja a cellákat, megelőzve az illetéktelen változtatásokat, miközben rugalmasan tartja a munkalapot, ahol szükséges.

Előfeltételek

Mielőtt belemerülnénk a részletekbe, győződjünk meg arról, hogy minden megvan, ami az oktatóanyag zökkenőmentes követéséhez szükséges:

  1. Visual Studio – Ha még nem tette meg, töltse le és telepítse a Visual Studio alkalmazást. Ez lesz az elsődleges környezet, ahol .NET-alkalmazásait futtatja.
  2. Aspose.Cells for .NET – Szüksége lesz az Aspose.Cells könyvtárra, hogy az Excel-fájlokkal dolgozhasson a .NET-alkalmazásokban. Ha még nem telepítette, letöltheti a legújabb verziót a webhelyrőlAspose honlapja.
  3. .NET-keretrendszer vagy .NET Core – Ez az oktatóanyag a .NET-keretrendszerrel és a .NET Core-val is működik. Csak győződjön meg arról, hogy projektje kompatibilis az Aspose.Cells-szel. Ha ezek a helyükre kerültek, készen áll a kezdésre.

Csomagok importálása

Mielőtt belevágna a lépésenkénti útmutatóba, győződjön meg arról, hogy importálja az Aspose.Cells használatához szükséges névtereket. A projektben szerepeltesse a következő importálási utasításokat a fájl tetején:

using System.IO;
using Aspose.Cells;

Ezek a névterek lehetővé teszik az Excel fájlokkal és a munkalap celláinak védelméhez szükséges osztályokkal való interakciót. Most bontsuk le egyszerű lépésekre a munkalap egyes celláinak védelméhez az Aspose.Cells for .NET segítségével. Megvédjük az A1, B1 és C1 cellákat, miközben a munkalap többi részét nyitva hagyjuk szerkesztésre.

1. lépés: Hozzon létre egy új munkafüzetet és munkalapot

Először is létre kell hoznia egy új munkafüzetet (Excel-fájlt) és egy munkalapot azon belül. Itt kell alkalmazni a sejtvédelmet.

// A dokumentumok könyvtárának elérési útja.
string dataDir = "Your Document Directory";
// Hozzon létre könyvtárat, ha még nincs jelen.
bool IsExists = System.IO.Directory.Exists(dataDir);
if (!IsExists)
    System.IO.Directory.CreateDirectory(dataDir);
// Hozzon létre egy új munkafüzetet.
Workbook wb = new Workbook();
// Hozzon létre egy munkalap objektumot, és szerezze be az első lapot.
Worksheet sheet = wb.Worksheets[0];

Ebben a lépésben egy könyvtárat is létrehoz az eredményül kapott Excel-fájl tárolására, ha az még nem létezik. AWorkbook osztály inicializál egy új Excel fájlt, ésWorksheets[0] lehetővé teszi, hogy a munkafüzet első lapjával dolgozzunk.

2. lépés: Oldja fel az összes oszlopot

Ezután feloldja a munkalap összes oszlopát. Ez biztosítja, hogy alapértelmezés szerint a munkalap összes cellája szerkeszthető legyen. Később csak azokat a cellákat zárjuk le, amelyeket meg akarunk védeni.

// Határozza meg a stílusobjektumot.
Style style;
// Határozza meg a styleflag objektumot
StyleFlag styleflag;
// Lapozzon át a munkalap összes oszlopán, és oldja fel őket.
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);
}

Ebben a kódblokkban az összes oszlopot (legfeljebb 255-ig) iteráljuk, és beállítjuk aIsLocked tulajdonátfalse Ez lényegében feloldja az oszlopok összes celláját, és alapértelmezés szerint szerkeszthetővé teszi őket. Ezután alkalmazzuk a stílust az oszlopra aApplyStyle() módszer.

3. lépés: Adott cellák zárolása (A1, B1, C1)

Most, hogy az összes oszlop feloldott, bizonyos cellák zárolására fogunk összpontosítani, nevezetesen az A1, B1 és C1 zárolására. Módosítjuk a cellastílusokat és beállítjuk azokatIsLocked tulajdonáttrue.

// Zárja be a három cellát...azaz 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);

Ez a lépés biztosítja, hogy az A1, B1 és C1 cellák zárolva legyenek. Ezek azok a cellák, amelyek védettek lesznek, és a munkalapvédelem alkalmazása után nem szerkeszthetők.

4. lépés: Védje meg a munkalapot

A szükséges cellák zárolásával a következő lépés a teljes munkalap védelme. Ez a lépés a zárolt cellákat (A1, B1, C1) szerkeszthetetlenné teszi, míg a többi cella nyitva marad szerkesztésre.

// Végül most védje meg a lapot.
sheet.Protect(ProtectionType.All);

AProtect metódus kerül meghívásra a munkalapon, meghatározva, hogy a lap minden aspektusát védeni kell. Ezzel zárolják a jellel megjelölt cellákatIsLocked = true és biztosítja, hogy azokat a felhasználók ne módosíthassák.

5. lépés: Mentse el a munkafüzetet

Miután a cellák zárolva vannak, és a munkalap védett, a munkafüzetet a kívánt helyre mentheti.

// Mentse el az Excel fájlt.
wb.Save(dataDir + "output.out.xls", SaveFormat.Excel97To2003);

Ez a lépés elmenti a munkafüzetet adataDir mappát a fájlnévveloutput.out.xls. A fájlnevet és a könyvtárat igényeinek megfelelően módosíthatja. A fájl Excel 97-2003 formátumban van mentve, de ezt igény szerint módosíthatja.

Következtetés

Az Excel-munkalap egyes celláinak védelme az Aspose.Cells for .NET használatával egyszerű folyamat. A fenti lépések követésével zárolhat bizonyos cellákat, miközben mások szerkeszthetők maradnak. Ez a funkció rendkívül hasznos munkafüzetek másokkal való megosztása során, mivel segít szabályozni, hogy mely adatok módosíthatók, és mely adatok maradjanak védve. Akár érzékeny adatokon dolgozik, akár egyszerűen megakadályozza a véletlen változtatásokat, az Aspose.Cells rugalmas és hatékony megoldást kínál.

GYIK

Hogyan védhetek meg egy adott sejttartományt néhány helyett?

Módosíthatja a kódot úgy, hogy az egyes cellák manuális zárolása helyett egy adott cella- vagy oszloptartományon átmenjen, és zárolja azokat.

Hozzáadhatok jelszavakat a munkalap védelmére?

Igen, megadhat jelszót a hívásakorProtect() módszerrel korlátozhatja a felhasználókat a lap védelmének megszüntetésében a megfelelő jelszó megadása nélkül.

Megvédhetek bizonyos sorokat vagy oszlopokat cellák helyett?

Igen, az Aspose.Cells lehetővé teszi teljes sorok vagy oszlopok zárolását aIsLocked tulajdonságot a sorokhoz vagy oszlopokhoz, hasonlóan a cellák zárolásához.

Hogyan lehet feloldani a munkalap védelmét?

A munkalap védelmének feloldásához használja aUnprotect() módszerrel, opcionálisan megadva a jelszót, ha a védelem során beállították.

Használhatom az Aspose.Cells-t egyéb Excel-manipulációkhoz, például képletek vagy diagramok hozzáadásához?

Teljesen! Az Aspose.Cells egy robusztus könyvtár, amely lehetővé teszi az Excel-műveletek széles skálájának végrehajtását, beleértve a képletek hozzáadását, diagramok létrehozását és még sok mást.