Adott oszlop védelme az Excel munkalapon

Amikor Excel munkalapokkal dolgozik C# nyelven, gyakran meg kell védeni bizonyos oszlopokat a véletlen módosítások elkerülése érdekében. Ebben az oktatóanyagban végigvezetjük egy Excel-munkalap egy adott oszlopának az Aspose.Cells for .NET könyvtár használatával történő védelmének folyamatán. Lépésről lépésre elmagyarázzuk Önnek a feladathoz szükséges C# forráskódot. Szóval, kezdjük!

Adott oszlopok védelmének áttekintése egy Excel-munkalapon

Az Excel-munkalap egyes oszlopainak védelme biztosítja, hogy ezek az oszlopok zárolva maradjanak, és megfelelő engedély nélkül nem módosíthatók. Ez különösen akkor hasznos, ha korlátozni szeretné bizonyos adatokhoz vagy képletekhez való szerkesztési hozzáférést, miközben lehetővé teszi a felhasználók számára, hogy a munkalap többi részével kommunikáljanak. Az Aspose.Cells for .NET függvénytár átfogó funkciókat kínál az Excel-fájlok programozott kezeléséhez, beleértve az oszlopvédelmet is.

A környezet beállítása

Mielőtt elkezdené, győződjön meg arról, hogy az Aspose.Cells for .NET könyvtár telepítve van a fejlesztői környezetében. Letöltheti a könyvtárat az Aspose hivatalos webhelyéről, és telepítheti a mellékelt telepítő segítségével.

Új munkafüzet és munkalap készítése

Az egyes oszlopok védelmének megkezdéséhez létre kell hoznunk egy új munkafüzetet és munkalapot az Aspose.Cells for .NET használatával. Íme a kódrészlet:

// 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];

Ügyeljen arra, hogy a “DOKUMENTUMKÖNYVTÁR” szöveget cserélje ki a tényleges könyvtár elérési útjára, ahová az Excel fájlt menteni szeretné.

stílus és a stílusjelző objektumok meghatározása

Ahhoz, hogy konkrét stílusokat és védelmi zászlókat állíthassunk be az oszlopokhoz, meg kell határoznunk a stílus- és stílusjelző objektumokat. Íme a kódrészlet:

// Határozza meg a stílusobjektumot.
Style style;

// Határozza meg a stílusjelző objektumot.
StyleFlag flag;

Oszlopok átfutása és feloldása

Ezután végig kell lépnünk a munkalap összes oszlopán, és fel kell oldanunk a zárolásukat. Ez biztosítja, hogy minden oszlop szerkeszthető legyen, kivéve azt, amelyet védeni akarunk. Íme a kódrészlet:

// 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;
    flag = new StyleFlag();
    flag.Locked = true;
    sheet.Cells.Columns[(byte)i].ApplyStyle(style, flag);
}

Egy adott oszlop zárolása

Most zároljunk egy adott oszlopot. Ebben a példában az első oszlopot zároljuk (0. oszlopindex). Íme a kódrészlet:

// Szerezze meg az első oszlopstílust.
style = sheet.Cells.Columns[0].Style;

// Zárd be.
style.IsLocked = true;

Stílusok alkalmazása oszlopokra

Az adott oszlop zárolása után alkalmaznunk kell a stílust és a zászlót arra az oszlopra. Íme a kódrészlet:

//Példányosítsa a zászlót.
flag = new StyleFlag();

// Állítsa be a zár beállítását.
flag.Locked = true;

// Alkalmazza a stílust az első oszlopra.
sheet.Cells.Columns[0].ApplyStyle(style, flag);

A munkalap védelme

A védelem véglegesítéséhez le kell védenünk a munkalapot, hogy a zárolt oszlopokat ne lehessen módosítani. Íme a kódrészlet:

// Védje a lapot.
sheet.Protect(ProtectionType.All);

Az Excel fájl mentése

Végül elmentjük a módosított Excel fájlt a kívánt helyre. Íme a kódrészlet:

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

Ügyeljen arra, hogy az “output.out.xls” fájlt lecserélje a kívánt fájlnévre és kiterjesztésre.

Minta forráskód az Excel-munkalap adott oszlopának védelme az Aspose.Cells for .NET használatával

// 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];
// Határozza meg a stílusobjektumot.
Style style;
// Határozza meg a styleflag objektumot.
StyleFlag flag;
// 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;
    flag = new StyleFlag();
    flag.Locked = true;
    sheet.Cells.Columns[(byte)i].ApplyStyle(style, flag);
}
// Szerezze meg az első oszlopstílust.
style = sheet.Cells.Columns[0].Style;
// Zárd be.
style.IsLocked = true;
//Példányosítsa a zászlót.
flag = new StyleFlag();
// Állítsa be a zár beállítását.
flag.Locked = true;
// Alkalmazza a stílust az első oszlopra.
sheet.Cells.Columns[0].ApplyStyle(style, flag);
// Védje a lapot.
sheet.Protect(ProtectionType.All);
// Mentse el az excel fájlt.
wb.Save(dataDir + "output.out.xls", SaveFormat.Excel97To2003);

Következtetés

Ebben az oktatóanyagban lépésről lépésre ismertetjük egy Excel-munkalap egy adott oszlopának védelmét az Aspose.Cells for .NET könyvtár használatával. Egy új munkafüzet és munkalap létrehozásával kezdtük, meghatároztuk a stílus- és stílusjelző objektumokat, majd folytattuk az egyes oszlopok zárolásának feloldását és zárolását. Végül levédettük a munkalapot és elmentettük a módosított Excel fájlt. Az útmutató követésével most már képesnek kell lennie az Excel-munkalapok egyes oszlopainak védelmére C# és Aspose.Cells for .NET használatával.

Gyakran Ismételt Kérdések (GYIK)

Megvédhetek több oszlopot ezzel a módszerrel?

Igen, több oszlopot is védhet a kód megfelelő módosításával. Egyszerűen görgessen át a kívánt oszloptartományon, és alkalmazza a zárolási stílusokat és zászlókat.

Lehetséges jelszóval védeni a védett munkalapot?

Igen, jelszavas védelmet adhat a védett munkalaphoz a jelszó megadásával, miközben hívja aProtect módszer.

Az Aspose.Cells for .NET támogat más Excel fájlformátumokat?

Igen, az Aspose.Cells for .NET támogatja a különféle Excel-fájlformátumokat, beleértve az XLS-t, az XLSX-et, az XLSM-et stb.

Megvédhetek bizonyos sorokat oszlopok helyett?

Igen, módosíthatja a kódot, hogy bizonyos sorokat védjen az oszlopok helyett, ha a stílusokat és jelzőket a sorcellákra alkalmazza az oszlopcellák helyett.