XSSFWorkbook wb = null;
Workbook workbook = null;
//定义excel
File file1 = new File("C:\\FFOutput\\模板.xlsx");
try {
wb = new XSSFWorkbook();
List<String> titleList = Arrays.asList("string", "int", "double", "boolean");
List<JSONObject> contentList = new ArrayList<>();
JSONObject strJson = new JSONObject();
JSONObject intJson = new JSONObject();
strJson.put("column1", "猪");
strJson.put("column2", 1);
strJson.put("column3", 1.11);
strJson.put("column4", true);
intJson.put("column1", "猫");
intJson.put("column2", 2);
intJson.put("column3", 3.22);
intJson.put("column4", false);
contentList.add(strJson);
contentList.add(intJson);
//初始化
workbook = ExcelUtils.createOnBoardingWorkbook(wb, "demo模板", titleList, null,
contentList);
ByteArrayOutputStream baos = new ByteArrayOutputStream();
workbook.write(baos);// 临时存储流到内存
baos.flush();
ByteArrayInputStream workbookInput = new ByteArrayInputStream(baos.toByteArray());
// 创建POIFS文件系统 加密文件
POIFSFileSystem fs = new POIFSFileSystem();
EncryptionInfo info = new EncryptionInfo( EncryptionMode.agile);
Encryptor enc = info.getEncryptor();
enc.confirmPassword("密码");
// 然后把字节输入到输入流,然后输入到OPC包里面
OPCPackage opc = OPCPackage.open(workbookInput);
OutputStream os = enc.getDataStream(fs);
opc.save(os);
opc.close();
FileOutputStream fos = new FileOutputStream(file1);
fs.writeFilesystem(fos);
fos.close();
对单个文件 excel 进行加密
最新推荐文章于 2021-08-27 17:18:58 发布