Microsoft Excel เป็นซอฟต์แวร์ยอดนิยมสำหรับจัดการข้อมูลในองค์กร สาเหตุหลักมาจากคุณสมบัติการจัดการและการแสดงข้อมูลขั้นสูง ในยุคเทคโนโลยีนี้ มีการแบ่งปันเอกสารแบบเสมือนจริงแทนการพิมพ์สำเนา ไฟล์เหล่านี้อาจมีข้อมูลที่ซับซ้อนและละเอียดอ่อน ดังนั้นเพื่อรักษาความสมบูรณ์ของไฟล์ดังกล่าว คุณอาจต้องป้องกันไฟล์เหล่านั้นจากการดัดแปลง คุณลักษณะการป้องกันของ Excel มีประโยชน์สำหรับจุดประสงค์นี้ ในบทความนี้ คุณจะได้เรียนรู้วิธีการป้องกันและยกเลิกการป้องกันไฟล์ Excel โดยทางโปรแกรมโดยใช้ C++
- C ++ API เพื่อป้องกันและยกเลิกการป้องกันไฟล์ Excel
- ป้องกันไฟล์ Excel โดยใช้ C++
- ยกเลิกการป้องกันสมุดงาน Excel โดยใช้ C ++
- ป้องกันแผ่นงาน Excel โดยใช้ C ++
- ยกเลิกการป้องกันแผ่นงาน Excel โดยใช้ C ++
- รับใบอนุญาตฟรี
C ++ API เพื่อป้องกันและยกเลิกการป้องกันไฟล์ Excel - ดาวน์โหลดฟรี
Aspose.Cells for C++ เป็นไลบรารี C++ ดั้งเดิมที่ให้คุณจัดการไฟล์ Excel โดยไม่ต้องติดตั้ง Microsoft Excel ดังนั้นจึงใช้สำหรับเวิร์กโฟลว์ Excel จำนวนมากโดยอัตโนมัติ API มีคุณสมบัติที่มีประโยชน์มากมาย รวมถึงการป้องกันและยกเลิกการป้องกันไฟล์ Excel คุณสามารถติดตั้ง API ผ่าน NuGet หรือดาวน์โหลดโดยตรงจากส่วน ดาวน์โหลด
PM> Install-Package Aspose.Cells.Cpp
ป้องกันไฟล์ Excel โดยใช้ C++
Aspose.Cells for C++ มีประเภทการป้องกันต่อไปนี้สำหรับป้องกันไฟล์ Excel
- ทั้งหมด: ปกป้องข้อมูลทั้งหมดเพื่อไม่ให้ผู้ใช้แก้ไขอะไรได้
- เนื้อหา: ป้องกันเนื้อหาของแผ่นงาน
- วัตถุ: ป้องกันวัตถุในแผ่นงานเพื่อไม่ให้ผู้ใช้แก้ไขวัตถุรูปวาด
- สถานการณ์: ป้องกันสถานการณ์ในเวิร์กชีต
- โครงสร้าง: ป้องกันโครงสร้างของสมุดงาน
- Windows: ป้องกันหน้าต่างที่บันทึกไว้จากการดัดแปลง
- ไม่มี: ไม่มีการป้องกัน
ต่อไปนี้เป็นขั้นตอนในการป้องกันไฟล์ Excel โดยใช้ C++
- โหลดไฟล์ Excel โดยใช้คลาส IWorkbook
- ป้องกันไฟล์ด้วย IWorkbook->Protect(Aposose::Cells::ProtectionType protectionType, intrusiveptrAspose::Cells::Systems::String รหัสผ่าน) วิธี
- บันทึกไฟล์ Excel ที่ได้รับการป้องกันด้วย IWorkbook->Save(intrusiveptrAspose::Cells::Systems::String ชื่อไฟล์) วิธีการ
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการป้องกันไฟล์ Excel โดยใช้ C++
// เส้นทางไดเร็กทอรีต้นทาง
StringPtr srcDir = new String("SourceDirectory\\");
// เส้นทางไดเร็กทอรีเอาต์พุต
StringPtr outDir = new String("OutputDirectory\\");
// โหลดไฟล์ Excel
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(srcDir->StringAppend(new String("sampleExcelFile.xlsx")));
// ป้องกันสมุดงานโดยระบุประเภทการป้องกัน
workbook->Protect(ProtectionType::ProtectionType_All, new String("12345"));
// บันทึกไฟล์ Excel
workbook->Save(outDir->StringAppend(new String("sampleExcelFile_protected_out.xlsx")));
ยกเลิกการป้องกันสมุดงาน Excel โดยใช้ C ++
ต่อไปนี้เป็นขั้นตอนในการยกเลิกการป้องกันไฟล์ Excel
- โหลดไฟล์ Excel โดยใช้คลาส IWorkbook
- ยกเลิกการป้องกันไฟล์ด้วย IWorkbook->Unprotect(intrusiveptrAspose::Cells::Systems::String รหัสผ่าน) วิธี
- ตั้งรหัสผ่านเป็น NULL โดยใช้ IWorkbook->GetISettings()->SetPassword(intrusiveptrAspose::Cells::Systems::String ค่า) วิธีการ
- บันทึกไฟล์ Excel ที่ไม่มีการป้องกันด้วย IWorkbook->Save(intrusiveptrAspose::Cells::Systems::String ชื่อไฟล์) วิธีการ
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการยกเลิกการป้องกันไฟล์ Excel
// เส้นทางไดเร็กทอรีต้นทาง
StringPtr srcDir = new String("SourceDirectory\\");
// เส้นทางไดเร็กทอรีเอาต์พุต
StringPtr outDir = new String("OutputDirectory\\");
// โหลดไฟล์ Excel
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(srcDir->StringAppend(new String("sampleExcelFileProtected.xlsx")));
// ยกเลิกการป้องกันสมุดงาน
workbook->Unprotect(new String("12345"));
// ตั้งรหัสผ่านเป็นโมฆะ
workbook->GetISettings()->SetPassword(NULL);
// บันทึกไฟล์ Excel
workbook->Save(outDir->StringAppend(new String("sampleExcelFileUnprotected_out.xlsx")));
ป้องกันแผ่นงาน Excel โดยใช้ C ++
นอกเหนือจากการป้องกันไฟล์ Excel แล้ว คุณยังสามารถป้องกันแผ่นงานแต่ละแผ่นได้อีกด้วย โปรดใช้ขั้นตอนต่อไปนี้เพื่อป้องกันแผ่นงาน Excel
- ขั้นแรก ให้โหลดไฟล์ Excel โดยใช้คลาส IWorkbook
- รับแผ่นงานที่คุณต้องการปกป้องจากคอลเลกชันแผ่นงานโดยใช้เมธอด IWorkbook->GetIWorksheets()->GetObjectByIndex( Aspose::Cells::Systems::Int32)
- รับการป้องกันแผ่นงานโดยใช้เมธอด IWorksheet->GetIProtection()
- ตั้งค่าตัวเลือกการป้องกัน เช่น SetAllowEditingContent (ค่าบูล)
- ตั้งรหัสผ่านโดยใช้ IProtection->SetPassword (intrusiveptrAspose::Cells::Systems::String ค่า) วิธีการ
- สุดท้าย บันทึกไฟล์ Excel ด้วยเวิร์กชีตที่มีการป้องกันโดยใช้ IWorkbook->Save(intrusiveptrAspose::Cells::Systems::String ชื่อไฟล์) วิธีการ
ตัวอย่างรหัสต่อไปนี้แสดงวิธีการป้องกันแผ่นงาน Excel
// เส้นทางไดเร็กทอรีต้นทาง
StringPtr srcDir = new String("SourceDirectory\\");
// เส้นทางไดเร็กทอรีเอาต์พุต
StringPtr outDir = new String("OutputDirectory\\");
// โหลดไฟล์ Excel
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(srcDir->StringAppend(new String("sampleExcelFile.xlsx")));
// การเข้าถึงแผ่นงานแรกในไฟล์ Excel
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);
// เข้าถึงการป้องกันของแผ่นงาน
intrusive_ptr<IProtection> protection = worksheet->GetIProtection();
// 3 วิธีต่อไปนี้ใช้สำหรับ Excel 2000 และรูปแบบก่อนหน้าเท่านั้น
protection->SetAllowEditingContent(false);
protection->SetAllowEditingObject(false);
protection->SetAllowEditingScenario(false);
// ป้องกันแผ่นงานแรกด้วยรหัสผ่าน "12345"
protection->SetPassword(new String("12345"));
// บันทึกไฟล์ Excel
workbook->Save(outDir->StringAppend(new String("sampleExcelFile_protectedWorksheet_out.xlsx")));
ยกเลิกการป้องกันแผ่นงาน Excel โดยใช้ C ++
ต่อไปนี้เป็นขั้นตอนสำหรับการยกเลิกการป้องกันแผ่นงาน Excel
- โหลดไฟล์ Excel โดยใช้คลาส IWorkbook
- เข้าถึงเวิร์กชีตที่มีการป้องกันโดยใช้เมธอด IWorkbook->GetIWorksheets()->GetObjectByIndex( Aspose::Cells::Systems::Int32)
- ยกเลิกการป้องกันแผ่นงานโดยใช้ IWorksheet->Unprotect(intrusiveptrAspose::Cells::Systems::String รหัสผ่าน) วิธี
- สุดท้าย บันทึกไฟล์ Excel ด้วยเวิร์กชีตที่ไม่มีการป้องกันโดยใช้ IWorkbook->Save(intrusiveptrAspose::Cells::Systems::String ชื่อไฟล์) วิธี
ตัวอย่างโค้ดต่อไปนี้แสดงวิธียกเลิกการป้องกันแผ่นงาน Excel โดยใช้ C++
// เส้นทางไดเร็กทอรีต้นทาง
StringPtr srcDir = new String("SourceDirectory\\");
// เส้นทางไดเร็กทอรีเอาต์พุต
StringPtr outDir = new String("OutputDirectory\\");
// โหลดไฟล์ Excel
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(srcDir->StringAppend(new String("sampleExcelFileProtectedWorksheet.xlsx")));
// การเข้าถึงแผ่นงานแรกในไฟล์ Excel
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);
// ยกเลิกการป้องกันแผ่นงาน
worksheet->Unprotect(new String("12345"));
// บันทึกไฟล์ Excel
workbook->Save(outDir->StringAppend(new String("sampleExcelFileUnprotectedWorksheet_out.xlsx")));
รับใบอนุญาตฟรี
คุณสามารถลองใช้ API ได้โดยไม่มีข้อจำกัดในการประเมินโดยขอ ใบอนุญาตชั่วคราวฟรี
บทสรุป
ในบทความนี้ คุณได้เรียนรู้วิธีการป้องกันและยกเลิกการป้องกันไฟล์ Excel โดยใช้ C++ นอกจากนั้น คุณยังได้เรียนรู้วิธีป้องกันแผ่นงานจากการดัดแปลง Aspose.Cells for C++ คือ API การจัดการ Excel ขนาดใหญ่สำหรับงานอัตโนมัติ เช่น การแทนที่ข้อความในเซลล์หรือการประมวลผลข้อมูลที่ซับซ้อนซึ่งแสดงในกราฟและแผนภูมิ คุณสามารถสำรวจ API โดยละเอียดได้โดยใช้ เอกสารอย่างเป็นทางการ