ปกป้องเซลล์เฉพาะในเวิร์กชีต Excel

การแนะนำ

การสร้างเวิร์กชีต Excel และการจัดการการป้องกันเซลล์มักจะดูเหมือนเป็นงานยากใช่หรือไม่ โดยเฉพาะอย่างยิ่งเมื่อคุณพยายามให้แน่ใจว่าเซลล์บางเซลล์เท่านั้นที่สามารถแก้ไขได้ในขณะที่เซลล์อื่นๆ ปลอดภัย ข่าวดีก็คือด้วย Aspose.Cells สำหรับ .NET คุณสามารถป้องกันเซลล์เฉพาะภายในเวิร์กชีต Excel ได้อย่างง่ายดายด้วยโค้ดเพียงไม่กี่บรรทัด!

ในบทความนี้ เราจะแนะนำคุณทีละขั้นตอนเกี่ยวกับวิธีนำการป้องกันเซลล์มาใช้โดยใช้ Aspose.Cells สำหรับ .NET เมื่ออ่านคู่มือนี้จบ คุณจะมีความรู้ในการปกป้องข้อมูล Excel ของคุณอย่างมีประสิทธิภาพ

ข้อกำหนดเบื้องต้น

ก่อนที่จะเริ่มเขียนโค้ด คุณต้องมีข้อกำหนดเบื้องต้นบางประการเสียก่อน:

  1. Visual Studio: ให้แน่ใจว่าคุณได้ติดตั้ง Visual Studio ไว้ในเครื่องของคุณแล้ว เนื่องจากเราจะเขียนโค้ดด้วย C#
  2. Aspose.Cells สำหรับ .NET: คุณต้องติดตั้ง Aspose.Cells สำหรับ .NET หากคุณยังไม่ได้ติดตั้ง โปรดดาวน์โหลดจากที่นี่.
  3. ความเข้าใจพื้นฐานเกี่ยวกับ 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 ได้ในเอกสารประกอบที่นี่.