Excel&Word文件加密
为保障导出数据的安全性, 在导出敏感数据时可以考虑导出带密码的 Excel 或者 Word 或者 Pdf 文件, 来保障数据的安全性.
Pom 坐标
xml
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>5.2.3</version>
</dependency>
Demo
Java
public static void main(String[] args) throws Exception{
String file = "";
POIFSFileSystem fs = new POIFSFileSystem();
EncryptionInfo info = new EncryptionInfo(EncryptionMode.standard);
Encryptor enc = info.getEncryptor();
//设置密码
enc.confirmPassword("123456");
//加密文件
OPCPackage opc = OPCPackage.open(new File(file), PackageAccess.READ_WRITE);
OutputStream os = enc.getDataStream(fs);
opc.save(os);
opc.close();
// 这一步特别注意,导出之前一定要先关闭加密文件流,不然导出文件会损坏而无法打开
os.close();
// 把加密后的文件写回流
FileOutputStream fos = new FileOutputStream(file);
fs.writeFilesystem(fos);
fos.close();
}