Adott cellák védelme egy Excel-munkalapon
Ebben az oktatóanyagban a C# forráskódot tekintjük meg, amely az Aspose.Cells könyvtárat használja az Excel-táblázat egyes celláinak védelmére. Végigjárjuk a kód minden lépését, és elmagyarázzuk, hogyan működik. Gondosan kövesse az utasításokat a kívánt eredmény eléréséhez.
1. lépés: Előfeltételek
Mielőtt elkezdené, győződjön meg arról, hogy telepítette a .NET Aspose.Cells könyvtárát. Az Aspose hivatalos webhelyéről szerezheti be. Győződjön meg arról is, hogy a Visual Studio vagy bármely más C# fejlesztői környezet legújabb verziójával rendelkezik.
2. lépés: Importálja a szükséges névtereket
Az Aspose.Cells könyvtár használatához importálnunk kell a szükséges névtereket a kódunkba. Adja hozzá a következő sorokat a C# forrásfájl tetejéhez:
using Aspose.Cells;
3. lépés: Excel-munkafüzet létrehozása
Ebben a lépésben létrehozunk egy új Excel-munkafüzetet. Használja a következő kódot Excel-munkafüzet létrehozásához:
// A dokumentumok könyvtár elérési útja.
string dataDir = "YOUR_DIRECTORY_OF_DOCUMENTS";
// Hozzon létre egy új munkafüzetet.
Workbook wb = new Workbook();
Feltétlenül cserélje ki"YOUR_DOCUMENTS_DIR"
a dokumentumkönyvtár megfelelő elérési útjával.
4. lépés: Táblázat létrehozása
Most, hogy elkészítettük az Excel munkafüzetet, hozzunk létre egy munkalapot, és szerezzük be az első lapot. Használja a következő kódot:
// Hozzon létre egy táblázatkezelő objektumot, és szerezze be az első lapot.
Worksheet sheet = wb.Worksheets[0];
5. lépés: A stílus meghatározása
Ebben a lépésben meghatározzuk az adott cellákra alkalmazandó stílust. Használja a következő kódot:
// A stílusobjektum meghatározása.
Styling styling;
6. lépés: Hurok az összes oszlop feloldásához
Most végigpörgetjük a munkalap összes oszlopát, és feloldjuk őket. Használja a következő kódot:
// 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;
sheet.Cells.Columns[(byte)i].ApplyStyle(style);
}
7. lépés: Adott cellák zárolása
Ebben a lépésben bizonyos cellákat zárolunk. Használja a következő kódot:
//Mindhárom cella lezárása... 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);
8. lépés: A munkalap védelme
Végül megvédjük a munkalapot, hogy megakadályozzuk bizonyos cellák módosítását. Használja a következő kódot:
// Védje meg a munkalapot.
sheet.Protect(ProtectionType.All);
9. lépés: Az Excel fájl mentése
Most mentjük a módosított Excel fájlt. Használja a következő kódot:
// Mentse el az Excel fájlt.
wb.Save(dataDir + "output.out.xls", SaveFormat.Excel97To2003);
Ügyeljen arra, hogy a módosított Excel-fájl mentéséhez a megfelelő útvonalat adja meg.
Forráskód minta speciális cellák védelméhez egy Excel-munkalapon 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 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);
}
// 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);
// Végül most védje meg a lapot.
sheet.Protect(ProtectionType.All);
// Mentse el az excel fájlt.
wb.Save(dataDir + "output.out.xls", SaveFormat.Excel97To2003);
Következtetés
Gratulálok ! Most már rendelkezik C#-forráskóddal, amely lehetővé teszi az Excel-munkalap egyes celláinak védelmét a .NET Aspose.Cells könyvtárával. Nyugodtan testreszabhatja a kódot az Ön egyedi igényei szerint.
GYIK (Gyakran Ismételt Kérdések)
Működik ez a kód az Excel legújabb verzióival?
Igen, ez a kód működik az Excel legújabb verzióival, beleértve az Excel 2010 és újabb formátumú fájlokat is.
Megvédhetek más sejteket az A1, B1 és C1 mellett?
Igen, módosíthatja a kódot más meghatározott cellák zárolásához, ha módosítja a megfelelő kódsorokban található cellahivatkozásokat.
Hogyan tudom újra feloldani a zárolt cellákat?
Te tudod használniSetStyle
módszerrelIsLocked
állítvafalse
cellák feloldásához.
Hozzáadhatok több munkalapot a munkafüzethez?
Igen, a munkafüzethez hozzáadhat további munkalapokat aWorksheets.Add()
módszert, és ismételje meg a cellavédelmi lépéseket minden munkalapon.
Hogyan tudom megváltoztatni az Excel fájl mentési formátumát?
A mentési formátumot a gombbal módosíthatjaSaveFormat
módszert például a kívánt formátummalSaveFormat.Xlsx
Excel 2007 és újabb verziókhoz.