MS Excel มีกลไกการเข้ารหัสเพื่อปกป้องข้อมูลในสเปรดชีตจากผู้ใช้ที่ไม่ได้รับอนุญาต นอกจากการใช้การเข้ารหัสแล้ว คุณยังสามารถระบุรหัสผ่านที่จำเป็นในการเปิดไฟล์ Excel ได้ บทความนี้กล่าวถึงวิธีการเข้ารหัสไฟล์ Excel จากภายในแอปพลิเคชัน .NET โดยเฉพาะอย่างยิ่ง คุณจะได้เรียนรู้วิธีเข้ารหัสและถอดรหัสไฟล์ Excel โดยใช้ C#
- C# API เพื่อเข้ารหัสหรือถอดรหัสไฟล์ Excel
- เข้ารหัสไฟล์ Excel โดยใช้ C#
- ถอดรหัสไฟล์ Excel โดยใช้ C#
- ตรวจสอบรหัสผ่านของไฟล์ Excel ที่เข้ารหัส
- รับใบอนุญาตฟรี
C# API เพื่อเข้ารหัสหรือถอดรหัสไฟล์ Excel
เพื่อดำเนินการเข้ารหัสและถอดรหัสในไฟล์ Excel บทความนี้ใช้ Aspose.Cells for .NET API API มีวิธีง่ายๆ ในการเข้ารหัสและรหัสผ่านป้องกันไฟล์ Excel ด้วยประเภทการเข้ารหัสที่ต้องการ คุณสามารถ ดาวน์โหลด API หรือติดตั้งภายในแอปพลิเคชัน .NET ของคุณโดยใช้ NuGet
Install-Package Aspose.Cells
เข้ารหัสไฟล์ Excel โดยใช้ C#
Aspose.Cells for .NET รองรับประเภทการเข้ารหัส SHA และ AES เพื่อเข้ารหัสไฟล์ Excel ในลักษณะเดียวกับที่ MS Excel ทำ สำหรับไฟล์ Excel 2003 คุณสามารถเลือกระหว่างประเภทการเข้ารหัสต่อไปนี้:
- เอ็กซ์ออร์
- เข้ากันได้ (เข้ากันได้กับ Office 97/2000)
- ผู้ให้บริการการเข้ารหัสขั้นสูง V1
- ผู้ให้บริการการเข้ารหัสที่แข็งแกร่ง
ต่อไปนี้เป็นขั้นตอนในการเข้ารหัสไฟล์ Excel โดยใช้ C#
- โหลดไฟล์ Excel โดยใช้คลาส Workbook
- ใช้เมธอด Workbook.SetEncryptionOptions(EncryptionType, int) เพื่อใช้การเข้ารหัสที่ต้องการ
- ตั้งรหัสผ่านโดยใช้คุณสมบัติ Workbook.Settings.Password
- บันทึกสมุดงานโดยใช้เมธอด Workbook.Save(string)
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีเข้ารหัสไฟล์ Excel โดยใช้ C#
// เปิดไฟล์ excel
Workbook workbook = new Workbook("Book1.xls");
// ระบุประเภทการเข้ารหัส XOR
workbook.SetEncryptionOptions(EncryptionType.XOR, 40);
// ระบุประเภทการเข้ารหัสที่รัดกุม (RC4, Microsoft Strong Cryptographic Provider)
workbook.SetEncryptionOptions(EncryptionType.StrongCryptographicProvider, 128);
// รหัสผ่านป้องกันไฟล์
workbook.Settings.Password = "1234";
// บันทึกไฟล์ excel
workbook.Save("encryptedBook.xls");
ถอดรหัสไฟล์ Excel โดยใช้ C#
ต่อไปนี้เป็นขั้นตอนในการถอดรหัสไฟล์ Excel โดยใช้ Aspose.Cells for .NET API
- โหลดไฟล์ Excel โดยระบุเส้นทางและรหัสผ่านให้กับตัวสร้างของคลาส สมุดงาน
- ตั้งรหัสผ่านเป็น null โดยใช้คุณสมบัติ Workbook.Settings.Password
- บันทึกสมุดงานโดยใช้วิธี Workbook.Save(string)
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีถอดรหัสไฟล์ Excel โดยใช้ C#
// เปิดไฟล์ excel
Workbook workbook = new Workbook("encryptedBook.xlsx", new LoadOptions { Password="1234" });
// ตั้งรหัสผ่านเป็นโมฆะ
workbook.Settings.Password = null;
// บันทึกไฟล์ excel
workbook.Save("decryptedBook.xlsx");
ตรวจสอบรหัสผ่านของไฟล์ Excel ที่เข้ารหัสโดยใช้ C#
Aspose.Cells for .NET ยังให้คุณตรวจสอบรหัสผ่านของไฟล์ Excel ที่เข้ารหัสได้ สำหรับสิ่งนี้ คุณสามารถทำตามขั้นตอนด้านล่าง
- โหลดไฟล์ Excel โดยใช้คลาส FileStream
- ในการตรวจสอบรหัสผ่าน ใช้เมธอด FileFormatUtil.VerifyPassword(FileStream, string) ที่ส่งคืนค่าบูล
- หากค่าที่ส่งกลับเป็นจริง แสดงว่ารหัสผ่านถูกต้อง มิฉะนั้นถือว่าไม่ถูกต้อง
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการตรวจสอบรหัสผ่านของไฟล์ Excel ที่เข้ารหัสโดยใช้ C#
// สร้างวัตถุสตรีม
FileStream fstream = new FileStream("EncryptedBook1.xlsx", FileMode.Open);
// ยืนยันรหัสผ่าน
bool isPasswordValid = FileFormatUtil.VerifyPassword(fstream, "1234");
// ผลการพิมพ์
Console.WriteLine("Password is Valid: " + isPasswordValid);
รับใบอนุญาตฟรี
คุณสามารถ รับใบอนุญาตชั่วคราวได้ฟรี เพื่อทดลองใช้ API โดยไม่มีข้อจำกัดในการประเมิน
บทสรุป
ในบทความนี้ คุณได้เรียนรู้วิธีเข้ารหัสและถอดรหัสไฟล์ Excel โดยใช้ C# จากภายในแอปพลิเคชัน .NET นอกจากนี้ คุณได้เห็นวิธีการตรวจสอบรหัสผ่านของไฟล์ Excel ที่เข้ารหัสแล้ว คุณสามารถสำรวจเพิ่มเติมเกี่ยวกับ C# Excel automation API ได้โดยใช้ เอกสารประกอบ