检查excel表是否受保护并找到密码(使用apache poi)

时间:2015-11-22 12:11:46

标签: java excel apache-poi encode

我需要做以下事情:

用户下载excel文件(这是一个模板),其中一些列只读,其他可编辑;(只读列是通过保护整个表格制作的

//protect entire sheet
sheet.protectSheet("password");
//create style for editable cells
XSSFCellStyle editableStyle = workbook.createCellStyle();
editableStyle.setLocked(false);
//for editable cells apply this style
cell.setCellStyle(editableStyle);

用户修改模板文件,仅填充可编辑的单元格

用户上传模板

在上传模板的过程中,我需要检查上传的文件是否是以前下载的文件,并使用完全相同的“密码”进行保护。

我有可能获得密码,但它已编码,我不知道如何解码。

byte[] password = sheet.getCTWorksheet().getSheetProtection().getPassword();

你能帮帮我吗?

1 个答案:

答案 0 :(得分:1)

如果要检查文件是否具有相同的密码,则可以使用gl_VertexID方法进行检查。

示例:

validateSheetPassword

或者您可以在此处查看文档:{​​{3}}