У меня есть программа, которая генерирует отчеты с большим количеством данных. Я получил правильные работы, используя Apache POI SXSSF для создания файла xlsx. http://poi.apache.org/spreadsheet/index.htmlКак защитить книгу Excel через SXSSF?
Дело в том, что я не мог найти в их документации, как защитить паролем УПРАЖНЕНИЯ ВСЮ. Я хочу, чтобы, если кто-то пытается открыть файл, ему нужно ввести пароль, чтобы просмотреть данные.
Имейте в виду, что это отличается от защиты паролем одного рабочего листа, где они все еще могут открывать файл и просматривать данные, но имеют доступ только для чтения.
я не нашел ничего, в документации SXSSFWorkbook: https://poi.apache.org/apidocs/org/apache/poi/xssf/streaming/SXSSFWorkbook.html
Похоже, есть метод для XSSFWorkbook называется setWorkbookPassword но не существует для SXSSF и не работал на SXSSFWorkbook. https://poi.apache.org/apidocs/org/apache/poi/xssf/usermodel/XSSFWorkbook.html#setWorkbookPassword(java.lang.String,%20org.apache.poi.poifs.crypt.HashAlgorithm)
Кто-нибудь знает, как это можно сделать? Также будут рассмотрены альтернативные обходные пути.
Заранее спасибо.
UPDATE
Я думал, может быть, с помощью макросов позволило книгу с скриптом на защитить его паролем, как предложено здесь. Java Apache Poi SXSSF with Excel Macros
И я использовал код VBA отсюда, чтобы сделать это: http://analysistabs.com/excel-vba/protect-unprotect-workbook/, а затем использовать этот файл в качестве шаблона при создании файла Excel, но пока я играл с макросом, оказалось, что этого недостаточно. Некоторые настройки компьютерной безопасности установлены на «Высокий» и будут отключать макросы, поэтому, когда я открываю файл, я получил приглашение для пароля, но затем у меня также появилось предупреждающее сообщение о том, что макросы отключены, и я смог просмотреть книгу содержание.
Любые предложения?
Ahh Я думаю, что я был настолько сосредоточен на поиске ключевых слов, как «пароль» или «защита», что страница «шифрование» не появилась. Спасибо за это! Это именно то, что мне нужно. – yaki33