博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java poi对Excel文件加密
阅读量:5117 次
发布时间:2019-06-13

本文共 1537 字,大约阅读时间需要 5 分钟。

@SuppressWarnings("deprecation")    @Override    public InputStream exportItemProjectExcel(List
ITEM_PROJECT_ID_LIST) throws Exception { FileInputStream inputStream = new FileInputStream(new File(this.getClass().getResource("/../../resource/分项工程.xlsx").getFile())); Workbook workbook = WorkbookFactory.create(inputStream); Sheet sheet = workbook.getSheetAt(0);// 读取第-页 Row row; for (int i = 0; i < ITEM_PROJECT_ID_LIST.size(); i++) { row = sheet.createRow(i); row.createCell(0).setCellValue((String) ITEM_PROJECT_ID_LIST.get(i)); } ByteArrayOutputStream baos = new ByteArrayOutputStream(); workbook.write(baos);// 临时存储流到内存 baos.flush(); ByteArrayInputStream workbookInput = new ByteArrayInputStream(baos.toByteArray()); // 创建POIFS文件系统 加密文件 POIFSFileSystem fs = new POIFSFileSystem(); EncryptionInfo info = new EncryptionInfo(fs, EncryptionMode.agile); Encryptor enc = info.getEncryptor(); enc.confirmPassword("itemProject"); // 然后把字节输入到输入流,然后输入到OPC包里面 OPCPackage opc = OPCPackage.open(workbookInput); OutputStream os = enc.getDataStream(fs); opc.save(os); opc.close(); baos = new ByteArrayOutputStream(); fs.writeFilesystem(baos); baos.flush(); inputStream.close(); workbook.close(); baos.close(); return new ByteArrayInputStream(baos.toByteArray()); }

 

转载于:https://www.cnblogs.com/mwd-banbo/p/10001418.html

你可能感兴趣的文章
设置java web工程中默认访问首页的几种方式
查看>>
ASP.NET MVC 拓展ViewResult实现word文档下载
查看>>
jQuery Mobile笔记
查看>>
8、RDD持久化
查看>>
第二次团队冲刺--2
查看>>
VMware Tools安装
查看>>
Linux上架设boost的安装及配置过程
查看>>
[转载]加密算法库Crypto——nodejs中间件系列
查看>>
zoj 2286 Sum of Divisors
查看>>
OO5~7次作业总结
查看>>
如何判断主机是大端还是小端(字节序)
查看>>
Centos7 日志查看工具
查看>>
使用Xshell密钥认证机制远程登录Linux
查看>>
OpenCV之响应鼠标(三):响应鼠标信息
查看>>
Android 画图之 Matrix(一)
查看>>
List<T>列表通用过滤模块设计
查看>>
【模板】最小生成树
查看>>
设计模式之结构型模式
查看>>
poj2569
查看>>
使用pygal_maps_world.i18n中数据画各大洲地图
查看>>