ป้องกันคอลัมน์เฉพาะในแผ่นงาน Excel

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

ภาพรวมของการปกป้องคอลัมน์เฉพาะในแผ่นงาน Excel

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

การตั้งค่าสภาพแวดล้อม

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

การสร้างสมุดงานและแผ่นงานใหม่

ในการเริ่มปกป้องคอลัมน์เฉพาะ เราจำเป็นต้องสร้างสมุดงานและแผ่นงานใหม่โดยใช้ Aspose.Cells สำหรับ .NET นี่คือข้อมูลโค้ด:

//เส้นทางไปยังไดเร็กทอรีเอกสาร
string dataDir = "YOUR DOCUMENT DIRECTORY";

// สร้างไดเร็กทอรีหากไม่มีอยู่
bool IsExists = System.IO.Directory.Exists(dataDir);
if (!IsExists)
    System.IO.Directory.CreateDirectory(dataDir);

// สร้างสมุดงานใหม่
Workbook wb = new Workbook();

// สร้างวัตถุแผ่นงานและรับแผ่นงานแรก
Worksheet sheet = wb.Worksheets[0];

ตรวจสอบให้แน่ใจว่าได้แทนที่ “ไดเรกทอรีเอกสารของคุณ” ด้วยเส้นทางไดเรกทอรีจริงที่คุณต้องการบันทึกไฟล์ Excel

การกำหนดสไตล์และออบเจ็กต์แฟล็กสไตล์

เพื่อกำหนดสไตล์เฉพาะและแฟล็กการป้องกันสำหรับคอลัมน์ เราจำเป็นต้องกำหนดออบเจ็กต์แฟล็กสไตล์และสไตล์ นี่คือข้อมูลโค้ด:

// กำหนดวัตถุสไตล์
Style style;

// กำหนดวัตถุธงสไตล์
StyleFlag flag;

วนซ้ำคอลัมน์และปลดล็อก

ต่อไป เราต้องวนซ้ำคอลัมน์ทั้งหมดในแผ่นงานและปลดล็อค เพื่อให้แน่ใจว่าคอลัมน์ทั้งหมดจะสามารถแก้ไขได้ ยกเว้นคอลัมน์ที่เราต้องการปกป้อง นี่คือข้อมูลโค้ด:

// วนซ้ำคอลัมน์ทั้งหมดในแผ่นงานและปลดล็อค
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);
}

การล็อคคอลัมน์เฉพาะ

ตอนนี้ เรามาล็อคคอลัมน์เฉพาะกัน ในตัวอย่างนี้ เราจะล็อกคอลัมน์แรก (ดัชนีคอลัมน์ 0) นี่คือข้อมูลโค้ด:

// รับรูปแบบคอลัมน์แรก
style = sheet.Cells.Columns[0].Style;

// ล็อคมัน.
style.IsLocked = true;

การใช้สไตล์กับคอลัมน์

หลังจากล็อคคอลัมน์ที่ต้องการแล้ว เราจำเป็นต้องใช้สไตล์และแฟล็กกับคอลัมน์นั้น นี่คือข้อมูลโค้ด:

//ยกตัวอย่างธง
flag = new StyleFlag();

// ตั้งค่าการล็อค
flag.Locked = true;

// ใช้สไตล์กับคอลัมน์แรก
sheet.Cells.Columns[0].ApplyStyle(style, flag);

การปกป้องแผ่นงาน

เพื่อสิ้นสุดการป้องกัน เราจำเป็นต้องปกป้องเวิร์กชีตเพื่อให้แน่ใจว่าคอลัมน์ที่ถูกล็อกไม่สามารถแก้ไขได้ นี่คือข้อมูลโค้ด:

// ป้องกันแผ่น
sheet.Protect(ProtectionType.All);

กำลังบันทึกไฟล์ Excel

สุดท้ายเราจะบันทึกไฟล์ Excel ที่แก้ไขแล้วไปยังตำแหน่งที่ต้องการ นี่คือข้อมูลโค้ด:

// บันทึกไฟล์ Excel
wb.Save(dataDir + "output.out.xls", SaveFormat.Excel97To2003);

ตรวจสอบให้แน่ใจว่าได้แทนที่ “output.out.xls” ด้วยชื่อไฟล์และนามสกุลที่ต้องการ

ซอร์สโค้ดตัวอย่างสำหรับการป้องกันคอลัมน์เฉพาะในแผ่นงาน Excel โดยใช้ Aspose.Cells สำหรับ .NET

//เส้นทางไปยังไดเร็กทอรีเอกสาร
string dataDir = "YOUR DOCUMENT DIRECTORY";
// สร้างไดเร็กทอรีหากไม่มีอยู่
bool IsExists = System.IO.Directory.Exists(dataDir);
if (!IsExists)
    System.IO.Directory.CreateDirectory(dataDir);
// สร้างสมุดงานใหม่
Workbook wb = new Workbook();
// สร้างวัตถุแผ่นงานและรับแผ่นงานแรก
Worksheet sheet = wb.Worksheets[0];
// กำหนดวัตถุสไตล์
Style style;
// กำหนดวัตถุ styleflag
StyleFlag flag;
// วนซ้ำคอลัมน์ทั้งหมดในแผ่นงานและปลดล็อค
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);
}
// รับรูปแบบคอลัมน์แรก
style = sheet.Cells.Columns[0].Style;
// ล็อคมัน.
style.IsLocked = true;
//ยกตัวอย่างธง
flag = new StyleFlag();
// ตั้งค่าการล็อค
flag.Locked = true;
// ใช้สไตล์กับคอลัมน์แรก
sheet.Cells.Columns[0].ApplyStyle(style, flag);
// ป้องกันแผ่น
sheet.Protect(ProtectionType.All);
// บันทึกไฟล์ Excel
wb.Save(dataDir + "output.out.xls", SaveFormat.Excel97To2003);

บทสรุป

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

คำถามที่พบบ่อย (FAQ)

ฉันสามารถป้องกันหลายคอลัมน์โดยใช้วิธีนี้ได้หรือไม่

ใช่ คุณสามารถป้องกันหลายคอลัมน์ได้โดยการแก้ไขโค้ดตามนั้น เพียงวนซ้ำช่วงคอลัมน์ที่ต้องการแล้วใช้สไตล์การล็อคและแฟล็ก

เป็นไปได้หรือไม่ที่จะป้องกันด้วยรหัสผ่านแผ่นงานที่ได้รับการป้องกัน?

ได้ คุณสามารถเพิ่มการป้องกันด้วยรหัสผ่านลงในแผ่นงานที่ได้รับการป้องกันโดยการระบุรหัสผ่านขณะโทรProtect วิธี.

Aspose.Cells สำหรับ .NET รองรับไฟล์ Excel รูปแบบอื่นหรือไม่

ใช่ Aspose.Cells สำหรับ .NET รองรับไฟล์ Excel หลากหลายรูปแบบ รวมถึง XLS, XLSX, XLSM และอื่นๆ

ฉันสามารถป้องกันแถวเฉพาะแทนคอลัมน์ได้หรือไม่

ใช่ คุณสามารถแก้ไขโค้ดเพื่อป้องกันแถวที่ต้องการแทนคอลัมน์ได้ โดยการนำสไตล์และแฟล็กไปใช้กับเซลล์แถวแทนเซลล์คอลัมน์