我有一个程序可以生成大量数据的报告。使用Apache POI SXSSF生成一个xlsx文件,我可以正常工作。 http://poi.apache.org/spreadsheet/index.html如何通过SXSSF保护Excel工作簿?
,我无法在其文档中发现的事情就是如何密码保护整个工作簿。我想这样做,如果有人试图打开文件,他们需要输入密码才能看到数据。
请记住,这与密码保护单个工作表不同,它们仍然能够打开文件并查看数据但具有只读访问权限。
我没有找到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文件时使用该文件作为模板,但是当我用宏来玩时,结果是不够的。一些计算机安全设置设置为“高”,并将禁用宏,所以当我打开文件时,我确实得到了提示输入密码,但是我也收到了一条警告消息,说宏已禁用,我可以查看工作簿内容。
有什么建议吗?
啊我认为我非常关注关键字搜索,如“密码”或“保护”,“加密”页面没有出现。感谢你!这正是我需要的。 – yaki33