הגן והסר הגנה על קבצי 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\\");

// טען קובץ אקסל
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(srcDir->StringAppend(new String("sampleExcelFile.xlsx")));

// הגן על חוברת עבודה על ידי ציון סוג ההגנה
workbook->Protect(ProtectionType::ProtectionType_All, new String("12345"));

// שמור את קובץ האקסל
workbook->Save(outDir->StringAppend(new String("sampleExcelFile_protected_out.xlsx")));

בטל את ההגנה על חוברת העבודה של Excel באמצעות C++

להלן השלבים לביטול ההגנה על קובץ Excel.

דוגמת הקוד הבאה מראה כיצד לבטל את ההגנה על קבצי Excel.

// נתיב ספריית המקור.
StringPtr srcDir = new String("SourceDirectory\\");

// נתיב ספריית פלט.
StringPtr outDir = new String("OutputDirectory\\");

// טען קובץ אקסל
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(srcDir->StringAppend(new String("sampleExcelFileProtected.xlsx")));

// בטל הגנה על חוברת עבודה
workbook->Unprotect(new String("12345"));

// הגדר את הסיסמה ל- null
workbook->GetISettings()->SetPassword(NULL);

// שמור את קובץ האקסל
workbook->Save(outDir->StringAppend(new String("sampleExcelFileUnprotected_out.xlsx")));

הגן על גליון עבודה של Excel באמצעות C++

בנוסף להגנה על קבצי Excel, אתה יכול גם להגן על גליונות עבודה בודדים. אנא השתמש בשלבים הבאים כדי להגן על גליונות עבודה של Excel.

דוגמת הקוד הבאה מראה כיצד להגן על גליון עבודה של Excel.

// נתיב ספריית המקור.
StringPtr srcDir = new String("SourceDirectory\\");

// נתיב ספריית פלט.
StringPtr outDir = new String("OutputDirectory\\");

// טען קובץ אקסל
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(srcDir->StringAppend(new String("sampleExcelFile.xlsx")));

// גישה לגליון העבודה הראשון בקובץ האקסל
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"));

// שמור את קובץ האקסל
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\\");

// טען קובץ אקסל
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(srcDir->StringAppend(new String("sampleExcelFileProtectedWorksheet.xlsx")));

// גישה לגליון העבודה הראשון בקובץ האקסל
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);

// בטל את ההגנה על גליון עבודה
worksheet->Unprotect(new String("12345"));

// שמור את קובץ האקסל
workbook->Save(outDir->StringAppend(new String("sampleExcelFileUnprotectedWorksheet_out.xlsx")));

קבל רישיון חינם

אתה יכול לנסות את ה-API ללא מגבלות הערכה על ידי בקשת [רישיון זמני בחינם].21

סיכום

במאמר זה, למדת כיצד להגן ולבטל את ההגנה על קבצי Excel באמצעות C++. בנוסף לכך, למדת גם כיצד להגן על דפי עבודה מפני שינויים. Aspose.Cells for C++ הוא ממשק API עצום למניפולציה של Excel לאוטומציה של משימות כגון החלפת טקסט בתאים או עיבוד נתונים מורכבים המיוצגים בגרפים ובתרשימים. אתה יכול לחקור את ה-API בפירוט על ידי שימוש בתיעוד הרשמי.

ראה גם