ป้องกันและยกเลิกการป้องกันไฟล์ Excel

Microsoft Excel เป็นซอฟต์แวร์ยอดนิยมสำหรับจัดการข้อมูลในองค์กร สาเหตุหลักมาจากคุณสมบัติการจัดการและการแสดงข้อมูลขั้นสูง ในยุคเทคโนโลยีนี้ มีการแบ่งปันเอกสารแบบเสมือนจริงแทนการพิมพ์สำเนา ไฟล์เหล่านี้อาจมีข้อมูลที่ซับซ้อนและละเอียดอ่อน ดังนั้นเพื่อรักษาความสมบูรณ์ของไฟล์ดังกล่าว คุณอาจต้องป้องกันไฟล์เหล่านั้นจากการดัดแปลง คุณลักษณะการป้องกันของ Excel มีประโยชน์สำหรับจุดประสงค์นี้ ในบทความนี้ คุณจะได้เรียนรู้วิธีการป้องกันและยกเลิกการป้องกันไฟล์ 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 โดยใช้ 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

// เส้นทางไดเร็กทอรีต้นทาง
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

// เส้นทางไดเร็กทอรีต้นทาง
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 โดยใช้ 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 โดยละเอียดได้โดยใช้ เอกสารอย่างเป็นทางการ

ดูสิ่งนี้ด้วย