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(Aspose::Cells::ProtectionType protectionType, intrusiveptrAspose::Cells::Systems::String סיסמה) שיטה.
- שמור את קובץ ה-Excel המוגן באמצעות ה-IWorkbook->Save(intrusiveptrAspose::Cells::Systems::String fileName) שיטה.
דוגמת הקוד הבאה מראה כיצד להגן על קבצי 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 באמצעות המחלקה IWorkbook.
- בטל את ההגנה על הקובץ באמצעות [IWorkbook->Unprotect(intrusiveptrAspose::Cells::Systems::String סיסמה)]שיטה 8.
- הגדר את הסיסמה ל-NULL באמצעות IWorkbook->GetISettings()->SetPassword(intrusiveptrAspose::Cells::Systems::String value) שיטה.
- שמור את קובץ האקסל הלא מוגן באמצעות ה-IWorkbook->Save(intrusiveptrAspose::Cells::Systems::String fileName) שיטה.
דוגמת הקוד הבאה מראה כיצד לבטל את ההגנה על קבצי 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 באמצעות המחלקה IWorkbook.
- השג את גליון העבודה שברצונך להגן מאוסף גליונות העבודה באמצעות השיטה IWorkbook->GetIWorksheets()->GetObjectByIndex( Aspose::Cells::Systems::Int32 index).
- השג את ההגנה של גליון העבודה באמצעות השיטה IWorksheet->GetIProtection().
- הגדר את אפשרויות ההגנה כגון SetAllowEditingContent (ערך bool).
- הגדר את הסיסמה באמצעות ה-IProtection->SetPassword (intrusiveptrAspose::Cells::Systems::String value) שיטה.
- לבסוף, שמור את קובץ ה-Excel עם גליון העבודה המוגן באמצעות IWorkbook->Save(intrusiveptrAspose::Cells::Systems::String fileName) שיטה.
דוגמת הקוד הבאה מראה כיצד להגן על גליון עבודה של 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 באמצעות המחלקה IWorkbook.
- גש לגליון העבודה המוגן באמצעות השיטה IWorkbook->GetIWorksheets()->GetObjectByIndex( Aspose::Cells::Systems::Int32 index).
- בטל את ההגנה על גליון העבודה באמצעות [IWorksheet->Unprotect(intrusiveptrAspose::Cells::Systems::String סיסמה)]שיטה 19.
- לבסוף, שמור את קובץ ה-Excel עם גליון העבודה הלא מוגן באמצעות IWorkbook->Save(intrusiveptrAspose::Cells::Systems::String fileName) שיטה.
דוגמת הקוד הבאה מראה כיצד לבטל את ההגנה על גליון העבודה של 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 בפירוט על ידי שימוש בתיעוד הרשמי.