ป้องกันแถวในแผ่นงาน Excel
ในบทช่วยสอนนี้ เราจะดูซอร์สโค้ด C# บางส่วนที่ใช้ไลบรารี Aspose.Cells เพื่อปกป้องแถวในสเปรดชีต Excel เราจะอธิบายแต่ละขั้นตอนของโค้ดและอธิบายวิธีการทำงาน ปฏิบัติตามคำแนะนำอย่างระมัดระวังเพื่อให้ได้ผลลัพธ์ที่ต้องการ
ขั้นตอนที่ 1: ข้อกำหนดเบื้องต้น
ก่อนที่คุณจะเริ่มต้น ตรวจสอบให้แน่ใจว่าคุณได้ติดตั้งไลบรารี Aspose.Cells สำหรับ .NET แล้ว คุณสามารถรับได้จากเว็บไซต์อย่างเป็นทางการของ Aspose ตรวจสอบให้แน่ใจว่าคุณมี Visual Studio เวอร์ชันล่าสุดหรือสภาพแวดล้อมการพัฒนา C# อื่น ๆ
ขั้นตอนที่ 2: นำเข้าเนมสเปซที่จำเป็น
หากต้องการใช้ไลบรารี Aspose.Cells เราจำเป็นต้องนำเข้าเนมสเปซที่จำเป็นลงในโค้ดของเรา เพิ่มบรรทัดต่อไปนี้ที่ด้านบนของไฟล์ต้นฉบับ C# ของคุณ:
using Aspose.Cells;
ขั้นตอนที่ 3: การสร้างสมุดงาน Excel
ในขั้นตอนนี้ เราจะสร้างสมุดงาน Excel ใหม่ ใช้รหัสต่อไปนี้เพื่อสร้างสมุดงาน Excel:
// พาธไปยังไดเร็กทอรีเอกสาร
string dataDir = "YOUR_DIRECTORY_OF_DOCUMENTS";
// สร้างสมุดงานใหม่
Workbook wb = new Workbook();
อย่าลืมเปลี่ยน"YOUR_DOCUMENTS_DIR"
ด้วยเส้นทางที่เหมาะสมไปยังไดเร็กทอรีเอกสารของคุณ
ขั้นตอนที่ 4: การสร้างสเปรดชีต
ตอนนี้เราได้สร้างสมุดงาน Excel แล้ว มาสร้างแผ่นงานและรับแผ่นงานแรกกัน ใช้รหัสต่อไปนี้:
// สร้างวัตถุสเปรดชีตและรับแผ่นงานแรก
Worksheet sheet = wb.Worksheets[0];
ขั้นตอนที่ 5: การกำหนดสไตล์
ในขั้นตอนนี้ เราจะกำหนดสไตล์ที่จะใช้กับแถวของสเปรดชีต ใช้รหัสต่อไปนี้:
// คำจำกัดความของวัตถุสไตล์
Styling styling;
ขั้นตอนที่ 6: วนซ้ำเพื่อปลดล็อกคอลัมน์ทั้งหมด
ตอนนี้เราจะวนซ้ำคอลัมน์ทั้งหมดในแผ่นงานและปลดล็อค ใช้รหัสต่อไปนี้:
// วนซ้ำคอลัมน์ทั้งหมดในแผ่นงานและปลดล็อค
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: ล็อคบรรทัดแรก
ในขั้นตอนนี้ เราจะล็อกแถวแรกของแผ่นงาน ใช้รหัสต่อไปนี้:
// รับสไตล์ของบรรทัดแรก
style = sheet.Cells.Rows[0].Style;
// ล็อคสไตล์
style. IsLocked = true;
// ใช้สไตล์กับบรรทัดแรก
sheet.Cells.ApplyRowStyle(0, style);
ขั้นตอนที่ 8: การปกป้องแผ่นงาน
ตอนนี้เราได้ตั้งค่าสไตล์และล็อกแถวแล้ว เรามาปกป้องสเปรดชีตกันดีกว่า ใช้รหัสต่อไปนี้:
// ป้องกันแผ่นงาน
sheet.Protect(ProtectionType.All);
ขั้นตอนที่ 9: บันทึกไฟล์ Excel
สุดท้ายเราจะบันทึกไฟล์ Excel ที่แก้ไขแล้ว ใช้รหัสต่อไปนี้:
// บันทึกไฟล์ Excel
wb.Save(dataDir + "output.out.xls", SaveFormat.Excel97To2003);
ตรวจสอบให้แน่ใจว่าได้ระบุเส้นทางที่ถูกต้องเพื่อบันทึกไฟล์ Excel ที่แก้ไข
ตัวอย่างซอร์สโค้ดสำหรับป้องกันแถวในแผ่นงาน 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.Rows[0].Style;
// ล็อคมัน.
style.IsLocked = true;
//ยกตัวอย่างธง
flag = new StyleFlag();
// ตั้งค่าการล็อค
flag.Locked = true;
// ใช้สไตล์กับแถวแรก
sheet.Cells.ApplyRowStyle(0, style, flag);
// ป้องกันแผ่น
sheet.Protect(ProtectionType.All);
// บันทึกไฟล์ Excel
wb.Save(dataDir + "output.out.xls", SaveFormat.Excel97To2003);
บทสรุป
ขอแสดงความยินดี! ขณะนี้คุณมีซอร์สโค้ด C# ที่ช่วยให้คุณสามารถปกป้องแถวในสเปรดชีต Excel โดยใช้ไลบรารี Aspose.Cells สำหรับ .NET อย่าลืมทำตามขั้นตอนอย่างระมัดระวังและปรับแต่งโค้ดตามความต้องการเฉพาะของคุณ
คำถามที่พบบ่อย (คำถามที่พบบ่อย)
รหัสนี้ใช้ได้กับ Excel เวอร์ชันล่าสุดหรือไม่
ใช่ รหัสนี้ใช้ได้กับ Excel เวอร์ชันล่าสุด รวมถึงไฟล์ในรูปแบบ Excel 2010 และสูงกว่า
ฉันสามารถป้องกันเฉพาะแถวที่ระบุแทนทุกแถวในเวิร์กชีตได้หรือไม่
ใช่ คุณสามารถแก้ไขโค้ดเพื่อระบุแถวเฉพาะที่คุณต้องการป้องกันได้ คุณจะต้องปรับการวนซ้ำและดัชนีตามลำดับ
ฉันจะปลดล็อคสายที่ถูกล็อคอีกครั้งได้อย่างไร?
คุณสามารถใช้IsLocked
วิธีการของStyle
วัตถุที่จะตั้งค่าเป็นfalse
และปลดล็อคแถว
เป็นไปได้หรือไม่ที่จะป้องกันแผ่นงานหลายแผ่นในสมุดงาน Excel เดียวกัน
ได้ คุณสามารถทำซ้ำขั้นตอนการสร้างเวิร์กชีต กำหนดสไตล์ และป้องกันเวิร์กชีตแต่ละเวิร์กชีตในเวิร์กบุ๊กได้
ฉันจะเปลี่ยนรหัสผ่านการป้องกันสเปรดชีตได้อย่างไร
คุณสามารถเปลี่ยนรหัสผ่านโดยใช้Protect
วิธีการและระบุรหัสผ่านใหม่เป็นอาร์กิวเมนต์