Файлы Excel используются для хранения как небольших, так и больших данных в виде строк и столбцов. Наряду с хранением данных вы можете выполнять другие операции, такие как вычисления и анализ данных с использованием графиков и диаграмм. Поскольку данные стоит защищать, MS Excel позволяет защитить файлы Excel. В этой статье рассказывается, как программно автоматизировать защиту файлов MS Excel. В частности, вы узнаете, как защищать и снимать защиту с файлов Excel с помощью Java.
- Java API для защиты файлов Excel
- Защита файлов Excel с помощью Java
- Снять защиту файлов Excel с помощью Java
- Защита рабочих листов с помощью Java
- Снять защиту с рабочих листов с помощью Java
- Получить бесплатную лицензию
Java API для защиты файлов Excel
Aspose.Cells for Java — это хорошо известный API для работы с электронными таблицами, предназначенный для создания, редактирования и преобразования файлов Excel из приложений Java. Наряду с другими базовыми и расширенными функциями автоматизации Excel, Aspose.Cells поддерживает защиту файлов Excel. Вы можете либо скачать JAR API, либо установить его, используя следующую конфигурацию Maven.
<repository>
<id>AsposeJavaAPI</id>
<name>Aspose Java API</name>
<url>https://repository.aspose.com/repo/</url>
</repository>
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-cells</artifactId>
<version>20.12</version>
</dependency>
Защита файлов Excel с помощью Java
Aspose.Cells for Java предоставляет следующие типы защиты для защиты книг Excel.
- ВСЕ - User cannot modify anything
- СОДЕРЖАНИЕ - User cannot enter data
- ОБЪЕКТЫ - User cannot modify drawing objects
- СЦЕНАРИИ - User cannot modify saved scenarios
- СТРУКТУРА - User cannot modify saved structure
- ОКНА - User cannot modify saved windows
- НИКТО - No protection
Ниже приведены шаги по защите файла Excel с помощью Aspose.Cells for Java.
- Загрузите файл Excel, используя класс Workbook.
- Используйте метод Workbook.protect(ProtectionType, String) для защиты файла Excel.
- Сохраните защищенный файл методом Workbook.save(String).
В следующем примере кода показано, как защитить файл Excel в Java.
// Откройте файл Excel
Workbook workbook = new Workbook("workbook.xlsx");
// Защитите книгу, указав тип защиты
workbook.protect(ProtectionType.ALL, "12345");
// Сохраните файл
workbook.save("workbook_protected.xlsx");
Снять защиту файлов Excel с помощью Java
Ниже приведены шаги по снятию защиты с файла Excel, защищенного паролем, с помощью Aspose.Cells for Java.
- Загрузите файл Excel, используя класс Workbook.
- Используйте метод Workbook.unprotect(String), чтобы снять защиту с файла Excel.
- Сохраните незащищенный файл Excel, используя метод Workbook.save(String).
В следующем примере кода показано, как снять защиту с файла Excel в Java.
// Откройте файл Excel
Workbook workbook = new Workbook("workbook_protected.xlsx");
// Снять защиту с книги
workbook.unprotect("12345");
// Установить пароль на ноль
workbook.getSettings().setPassword(null);
// Сохраните файл
workbook.save("workbook_unprotected.xlsx");
Защита рабочих листов Excel с помощью Java
Вы также можете применить защиту на уровне рабочего листа. Ниже приведены шаги по защите рабочего листа Excel с помощью Aspose.Cells for Java.
- Загрузите файл Excel, используя класс Workbook.
- Получите конкретный рабочий лист в объекте Worksheet с помощью метода Workbook.getWorksheets().get(int).
- Получить настройки защиты рабочего листа в объект Protection с помощью метода Worksheet.getProtection().
- Установите пароль, используя метод Protection.setPassword(String).
- Сохраните файл Excel, используя метод Workbook.save(String).
В следующем примере кода показано, как защитить лист Excel с помощью Java.
// Откройте файл Excel
Workbook workbook = new Workbook("workbook.xlsx");
// Доступ к первому рабочему листу в файле Excel
WorksheetCollection worksheets = workbook.getWorksheets();
Worksheet worksheet = worksheets.get(0);
Protection protection = worksheet.getProtection();
// Следующие 3 метода предназначены только для форматов Excel 2000 и более ранних версий.
protection.setAllowEditingContent(false);
protection.setAllowEditingObject(false);
protection.setAllowEditingScenario(false);
// Защитите первый рабочий лист паролем «1234».
protection.setPassword("1234");
// Сохраните файл
workbook.save("Excel.xlsx");
Снять защиту с рабочих листов с помощью Java
Процедура снятия защиты с рабочего листа такая же, как и защита. Единственная разница в том, что вы будете использовать метод Worksheet.unprotect(String). В следующем примере кода показано, как снять защиту с листа Excel с помощью Java.
// Откройте файл Excel
Workbook workbook = new Workbook("workbook.xlsx");
// Доступ к первому рабочему листу в файле Excel
WorksheetCollection worksheets = workbook.getWorksheets();
Worksheet worksheet = worksheets.get(0);
// Снять защиту листа
worksheet.unprotect("12345");
// Сохраните файл
workbook.save("workbook_updated.xlsx");
Получить бесплатную лицензию
Вы можете получить бесплатную временную лицензию, чтобы опробовать API без ограничений пробной версии.
Вывод
В этой статье вы узнали, как защищать и снимать защиту с файлов Excel с помощью Java. Кроме того, вы увидели, как защитить и снять защиту с определенного рабочего листа в книге Excel. Вы можете узнать больше об API автоматизации Java Excel, используя документацию.