حماية وإلغاء حماية ملفات Excel

Microsoft Excel هو برنامج شائع لإدارة البيانات في المؤسسات. يرجع ذلك أساسًا إلى ميزات التلاعب والتمثيل المتقدمة للبيانات. في هذا العصر التكنولوجي ، تتم مشاركة المستندات افتراضيًا بدلاً من النسخ المطبوعة. قد تحتوي هذه الملفات على بيانات معقدة وحساسة. لذلك للحفاظ على سلامة هذه الملفات ، قد تحتاج إلى حمايتها من التعديل. ميزات الحماية في Excel مفيدة لهذا الغرض. في هذه المقالة ، ستتعلم كيفية حماية ملفات Excel وإلغاء حمايتها برمجيًا باستخدام C ++.

C ++ API لحماية ملفات Excel وإلغاء حمايتها - تنزيل مجاني

Aspose.Cells for C ++ هي مكتبة C ++ أصلية تسمح لك بمعالجة ملفات Excel دون الحاجة إلى تثبيت Microsoft Excel. لذلك ، يتم استخدامه لأتمتة العديد من مهام سير عمل Excel. توفر واجهة برمجة التطبيقات مجموعة من الميزات المفيدة ، بما في ذلك حماية ملفات 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();

// الطرق الثلاثة التالية مخصصة فقط لبرنامج 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")));

احصل على رخصة مجانية

يمكنك تجربة واجهة برمجة التطبيقات بدون قيود تقييمية عن طريق طلب ترخيص مؤقت مجاني.

استنتاج

في هذه المقالة ، تعلمت كيفية حماية ملفات Excel وإلغاء حمايتها باستخدام C ++. بالإضافة إلى ذلك ، تعلمت أيضًا كيفية حماية أوراق العمل من التعديلات. Aspose.Cells for C ++ هي واجهة برمجة تطبيقات واسعة لمعالجة Excel لأتمتة المهام مثل استبدال النص في الخلايا أو معالجة البيانات المعقدة الممثلة في الرسوم البيانية والمخططات. يمكنك استكشاف API بالتفصيل باستخدام الوثائق الرسمية.

أنظر أيضا