ปกป้องเซลล์เฉพาะในเวิร์กชีต Excel
การแนะนำ
การสร้างเวิร์กชีต Excel และการจัดการการป้องกันเซลล์มักจะดูเหมือนเป็นงานยากใช่หรือไม่ โดยเฉพาะอย่างยิ่งเมื่อคุณพยายามให้แน่ใจว่าเซลล์บางเซลล์เท่านั้นที่สามารถแก้ไขได้ในขณะที่เซลล์อื่นๆ ปลอดภัย ข่าวดีก็คือด้วย Aspose.Cells สำหรับ .NET คุณสามารถป้องกันเซลล์เฉพาะภายในเวิร์กชีต Excel ได้อย่างง่ายดายด้วยโค้ดเพียงไม่กี่บรรทัด!
ในบทความนี้ เราจะแนะนำคุณทีละขั้นตอนเกี่ยวกับวิธีนำการป้องกันเซลล์มาใช้โดยใช้ Aspose.Cells สำหรับ .NET เมื่ออ่านคู่มือนี้จบ คุณจะมีความรู้ในการปกป้องข้อมูล Excel ของคุณอย่างมีประสิทธิภาพ
ข้อกำหนดเบื้องต้น
ก่อนที่จะเริ่มเขียนโค้ด คุณต้องมีข้อกำหนดเบื้องต้นบางประการเสียก่อน:
- Visual Studio: ให้แน่ใจว่าคุณได้ติดตั้ง Visual Studio ไว้ในเครื่องของคุณแล้ว เนื่องจากเราจะเขียนโค้ดด้วย C#
- Aspose.Cells สำหรับ .NET: คุณต้องติดตั้ง Aspose.Cells สำหรับ .NET หากคุณยังไม่ได้ติดตั้ง โปรดดาวน์โหลดจากที่นี่.
- ความเข้าใจพื้นฐานเกี่ยวกับ C#: ความคุ้นเคยกับการเขียนโปรแกรม C# จะช่วยให้คุณเข้าใจตัวอย่างที่ให้มาได้ง่ายขึ้น
แพ็คเกจนำเข้า
เมื่อคุณเตรียมสิ่งที่จำเป็นทั้งหมดเรียบร้อยแล้ว ก็ถึงเวลาที่จะนำเข้าแพ็คเกจที่จำเป็นลงในโปรเจ็กต์ของคุณ ในไฟล์ C# คุณจะต้องใส่เนมสเปซต่อไปนี้:
using System.IO;
using Aspose.Cells;
เนมสเปซนี้ประกอบด้วยคลาสและวิธีการทั้งหมดที่จำเป็นในการทำงานกับไฟล์ Excel และใช้ฟังก์ชันการทำงานที่เราต้องการ
มาทำความเข้าใจกระบวนการปกป้องเซลล์เฉพาะในเวิร์กชีต Excel โดยใช้ Aspose.Cells สำหรับ .NET กัน เราจะแบ่งโค้ดออกเป็นขั้นตอนย่อยๆ ดังต่อไปนี้:
ขั้นตอนที่ 1: ตั้งค่าไดเรกทอรีการทำงานของคุณ
สิ่งแรกที่เราต้องการทำคือกำหนดว่าไฟล์ของคุณจะไปอยู่ที่ไหน ขั้นตอนนี้ง่ายมาก เพียงคุณระบุไดเรกทอรีสำหรับไฟล์ Excel ของคุณ
// เส้นทางไปยังไดเร็กทอรีเอกสาร
string dataDir = "YOUR DOCUMENT DIRECTORY";
// สร้างไดเร็กทอรีหากยังไม่มีอยู่
bool IsExists = System.IO.Directory.Exists(dataDir);
if (!IsExists)
System.IO.Directory.CreateDirectory(dataDir);
ที่นี่เราจะกำหนดตัวแปรสตริงdataDir
ซึ่งชี้ไปยังไดเรกทอรีเอกสารที่คุณต้องการ เราจะตรวจสอบว่าไดเรกทอรีนี้มีอยู่หรือไม่ หากไม่มี เราจะสร้างไดเรกทอรีขึ้นมา วิธีนี้จะช่วยให้คุณไม่ประสบปัญหาใดๆ เมื่อบันทึกไฟล์ Excel ในภายหลัง
ขั้นตอนที่ 2: สร้างสมุดงานใหม่
ถัดไป เราจะสร้างเวิร์กบุ๊กใหม่ที่เราจะใช้ทำงานกัน
// สร้างสมุดงานใหม่
Workbook wb = new Workbook();
เราได้สร้างตัวอย่างใหม่Workbook
วัตถุ ให้คิดว่านี่คือผืนผ้าใบเปล่าที่คุณจะวาดข้อมูลของคุณ
ขั้นตอนที่ 3: เข้าถึงแผ่นงาน
ตอนนี้เรามีเวิร์กบุ๊กแล้ว เรามาเข้าถึงเวิร์กชีตแรกที่เราจะใช้การตั้งค่าการป้องกันกัน
// สร้างวัตถุเวิร์กชีตและรับแผ่นงานแรก
Worksheet sheet = wb.Worksheets[0];
ตรงนี้ เราจะเข้าสู่เวิร์กชีตแรกของเวิร์กบุ๊กของเรา นี่คือจุดที่เวทมนตร์ทั้งหมดจะเกิดขึ้น!
ขั้นตอนที่ 4: ปลดล็อคคอลัมน์ทั้งหมด
ก่อนที่เราจะล็อกเซลล์ที่ต้องการได้ เราจะต้องปลดล็อกคอลัมน์ทั้งหมดในเวิร์กชีตเสียก่อน วิธีนี้จะช่วยให้ล็อกเฉพาะเซลล์ที่เลือกไว้ในภายหลังได้
// กำหนดวัตถุสไตล์
Style style;
// กำหนดวัตถุ styleflag
StyleFlag styleflag;
// วนซ้ำผ่านคอลัมน์ทั้งหมดในเวิร์กชีตและปลดล็อคพวกเขา
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);
}
ลูปนี้จะวนซ้ำคอลัมน์ทั้งหมด (ตั้งแต่ 0 ถึง 255) ในเวิร์กชีต โดยปลดล็อกแต่ละคอลัมน์ เมื่อทำเช่นนี้ เราจะตั้งค่าสเตจให้ล็อกเฉพาะเซลล์ที่เราเลือกในภายหลังเท่านั้น
ขั้นตอนที่ 5: ล็อคเซลล์เฉพาะ
ตอนนี้เรามาถึงส่วนที่น่าตื่นเต้น: การล็อกเซลล์เฉพาะ! สำหรับตัวอย่างนี้ เราจะล็อกเซลล์ A1, B1 และ C1
// ล็อค 3 เซลล์...คือ 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);
สำหรับแต่ละเซลล์ที่ระบุ เราดึงรูปแบบปัจจุบันและตั้งค่าIsLocked
คุณสมบัติเป็นจริง ตอนนี้เซลล์ทั้งสามนี้ถูกล็อคและไม่สามารถแก้ไขได้อีกต่อไป
ขั้นตอนที่ 6: ปกป้องแผ่นงาน
รายการตรวจสอบของเราใกล้จะเสร็จสมบูรณ์แล้ว ขั้นตอนสุดท้ายที่คุณต้องทำคือปกป้องแผ่นงาน
// สุดท้ายนี้ ปกป้องแผ่นงานตอนนี้
sheet.Protect(ProtectionType.All);
โดยการโทรหาProtect
วิธีการบนแผ่นงาน เราใช้การตั้งค่าการป้องกันของเราด้วยProtectionType.All
เรากำลังระบุว่าทุกด้านของแผ่นงานจะได้รับการปกป้อง
ขั้นตอนที่ 7: บันทึกไฟล์ Excel
สุดท้ายเรามาบันทึกงานฝีมือของเราลงในไฟล์ Excel กัน
// บันทึกไฟล์ Excel
wb.Save(dataDir + "output.out.xls", SaveFormat.Excel97To2003);
คำสั่งนี้จะบันทึกเวิร์กบุ๊กไปยังไดเร็กทอรีที่ระบุโดยใช้ชื่อไฟล์ว่า “output.out.xls” คุณสามารถเข้าถึงไฟล์นี้ได้ตลอดเวลาเพื่อดูการทำงานของเซลล์ที่ได้รับการป้องกัน
บทสรุป
และแล้วคุณก็ทำได้สำเร็จ! คุณได้ปกป้องเซลล์เฉพาะในเวิร์กชีต Excel สำเร็จแล้วโดยใช้ Aspose.Cells สำหรับ .NET เมื่อทำตามขั้นตอนเหล่านี้ คุณจะได้เรียนรู้วิธีการตั้งค่าสภาพแวดล้อม สร้างเวิร์กบุ๊ก Excel และล็อกเซลล์ตามเงื่อนไขเพื่อรักษาความสมบูรณ์ของข้อมูล ดังนั้น ครั้งต่อไปที่คุณคิดที่จะอนุญาตให้ผู้อื่นแก้ไขสเปรดชีตของคุณ โปรดจำเทคนิคง่ายๆ ที่คุณสามารถนำไปใช้เพื่อปกป้องข้อมูลสำคัญของคุณได้!
คำถามที่พบบ่อย
Aspose.Cells สำหรับ .NET คืออะไร?
Aspose.Cells สำหรับ .NET เป็นไลบรารีอันทรงพลังสำหรับการจัดการไฟล์ Excel ด้วยโปรแกรมโดยใช้ C# ช่วยให้นักพัฒนาสามารถสร้าง แก้ไข และแปลงสเปรดชีต Excel ได้โดยไม่ต้องใช้ Microsoft Excel
ฉันจะติดตั้ง Aspose.Cells สำหรับ .NET ได้อย่างไร?
คุณสามารถดาวน์โหลด Aspose.Cells สำหรับ .NET ได้จากเว็บไซต์ที่นี่. ปฏิบัติตามคำแนะนำในการติดตั้งที่ให้มา
ฉันสามารถปกป้องมากกว่าสามเซลล์ได้หรือไม่
แน่นอน! คุณสามารถล็อกเซลล์ได้มากเท่าที่คุณต้องการโดยเพิ่มบรรทัดเพิ่มเติมที่คล้ายกับบรรทัดสำหรับ A1, B1 และ C1 ในตัวอย่าง
ฉันสามารถบันทึกไฟล์ Excel ของฉันในรูปแบบใดได้บ้าง
คุณสามารถบันทึกไฟล์ Excel ของคุณได้ในรูปแบบต่างๆ รวมถึง XLSX, XLS, CSV และอื่นๆ เพียงเปลี่ยนรูปแบบSaveFormat
พารามิเตอร์ให้เหมาะสม
ฉันสามารถหาเอกสารโดยละเอียดเพิ่มเติมเกี่ยวกับ Aspose.Cells ได้จากที่ใด
คุณสามารถศึกษาเพิ่มเติมเกี่ยวกับ Aspose.Cells สำหรับ .NET ได้ในเอกสารประกอบที่นี่.