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\\");
// Завантажте файл 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(intrusiveptr)Aspose::Cells::Systems::String значення) метод.
- Збережіть незахищений файл Excel за допомогою IWorkbook->Save(intrusiveptrAspose::Cells::Systems::String fileName) метод.
У наведеному нижче прикладі коду показано, як зняти захист файлів 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"));
// Встановіть пароль на null
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 index).
- Отримайте захист аркуша за допомогою методу IWorksheet->GetIProtection().
- Встановіть такі параметри захисту, як SetAllowEditingContent (логічне значення).
- Встановіть пароль за допомогою IPProtection->SetPassword (intrusiveptrAspose::Cells::Systems::String значення) метод.
- Нарешті, збережіть файл Excel із захищеним аркушем за допомогою IWorkbook->Save(intrusiveptr)Aspose::Cells::Systems::String fileName) метод.
У наведеному нижче прикладі коду показано, як захистити аркуш 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 index).
- Зніміть захист аркуша за допомогою IWorksheet->Unprotect(intrusiveptr)Aspose::Cells::Systems::String пароль).
- Нарешті, збережіть файл Excel із незахищеним аркушем за допомогою IWorkbook->Save(intrusiveptr)Aspose::Cells::Systems::String fileName) метод.
У наведеному нижче прикладі коду показано, як зняти захист аркуша 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, використовуючи офіційну документацію.