Как защитить рабочие листы в XSSFWorkbook с помощью библиотеки Apache poi? - PullRequest
0 голосов
/ 27 июня 2019

Как защитить рабочие листы в XSSFWorkbook с помощью библиотеки Apache poi?Я видел много решений на SO и других сайтах, но они старые или не работают.

   <dependency>
    <groupId>org.apache.poi</groupId>
    <artifactId>poi-ooxml</artifactId>
    <version>3.15</version>
  </dependency>

Ниже приведен пример кода:

FileInputStream excelFile = new FileInputStream(new File(FILE_NAME));
        XSSFWorkbook workbook = new  XSSFWorkbook(FILE_NAME);
        XSSFSheet s = (XSSFSheet) workbook.getSheetAt(0);

        s.enableLocking();
        s.lockDeleteColumns(true);
        s.protectSheet("password");

        workbook.lockStructure();
        workbook.close();

1 Ответ

0 голосов
/ 28 июня 2019

После нескольких часов попыток я нашел проблему, и это была очень глупая ошибка.рабочая книга не обновляется сама по себе, вместо этого мы должны создать новую рабочую книгу, которая будет иметь защищенный лист.

...