Защитите файлы Excel в Java

Файлы Excel используются для хранения как небольших, так и больших данных в виде строк и столбцов. Наряду с хранением данных вы можете выполнять другие операции, такие как вычисления и анализ данных с использованием графиков и диаграмм. Поскольку данные стоит защищать, MS Excel позволяет защитить файлы Excel. В этой статье рассказывается, как программно автоматизировать защиту файлов MS Excel. В частности, вы узнаете, как защищать и снимать защиту с файлов Excel с помощью 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.

Ниже приведены шаги по защите файла Excel с помощью Aspose.Cells for Java.

В следующем примере кода показано, как защитить файл 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 с помощью 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, используя документацию.

Смотрите также