用poi-3.6-20091214.jar 实现java给excel文件加密

我用了网上的很多方法,但是都没有成功!

HSSFWorkbook wb = new HSSFWorkbook(new FileInputStream(file));

// 设置密 码 保 护 ·

wb.writeProtectWorkbook("111111", "owner");

红字标识的是这个架包里面没有构造这个方法?很奇怪,问问大家,可有用java实现对excel文件进行加密的啊?要具体能用的!非诚勿扰啊!

[解决办法]

你找的API是对的啊,为什么没有跑成功呢?是不是你拿Excel2007格式文件在试?

给你贴一个我实现的实例,有几点注意

1. 现在的POI3.5 3.6的XSSF部分都不支持对Excel的xlsx文件进行加密,所以要用2003格式文件

2. 运行实例完毕之后,再次打开文件,可以只读打开,你选择输入密码通过非只读模式打开

3. 给贴的仅仅是一个demo,具体的代码需要再调整的优雅一些

import org.apache.poi.hssf.usermodel.HSSFWorkbook;

import java.io.FileInputStream;

import java.io.File;

import java.io.FileOutputStream;

public class EncodExcel2003 {

public static void main(String[] args)throws Exception{

FileInputStream fis=new FileInputStream(new File("resources/excel/" +

"stuInfo.xls")); //这里换成你本地的excel相对路径或绝对路径

HSSFWorkbook workbook=new HSSFWorkbook(fis);

//   writeProtectWorkbook第一个参数是打开Excel文件的密码

//   writeProtectWorkbook第二个参数是现实文件密码是由谁设置的

//   第二个参数用中文可能会出现乱码的情况,我用utf8编码workspace

//   可能用gbk不会有乱码

workbook.writeProtectWorkbook("password","admin");

FileOutputStream fos=new FileOutputStream(new File("resources/excel/" +

"stuInfo.xls"));//这里换成你本地的excel相对路径或绝对路径

workbook.write(fos);

fis.close();

fos.close();

}

}

如果还解决不了问题,可以在我CSDN上面留言或者发消息

java对excel进行加密_用poi-3.6-20091214.jar 实现java给excel资料加密相关推荐

  1. java.线程池 线程数_如何在线程“ main”中修复异常java.lang.NoClassDefFoundError:Java中的org / slf4j / LoggerFactory...

    java.线程池 线程数 此错误表示您的代码或您在应用程序中使用的任何外部库都在使用SLF4J库 (一个开放源代码日志记录库),但无法找到所需的JAR文件,例如slf4j-api-1.7.2.jar因 ...

  2. java二级考试真题_计算机等级考试真题2(JAVA)

    1. D (A)类属于JAVA语言的引用数据类型. (B)接口属于JAVA语言的引用数据类型. (C)数组属于JAVA语言的引用数据类型. (D)double不属于JAVA语言的引用数据类型. 2. ...

  3. java设置excel为只读_关于POI将2007excel加密(不能只读)

    java开发,需要实现一个功能:将excel进行加密.然后碰到问题. public static void main(String[] args) throws IOException, Invali ...

  4. java excel自动保存_比POI好用的EasyExcel简单使用记录

    今天看到了一篇文章说了POI和EasyExcel的区别(说的是EasyExcel是基于java的简单.省内存的Excel),因为我只用过POI,所以想试一下EasyExcel如何使用,所以才有了这篇文 ...

  5. java给excel填充数据_使用poi操作Excel的处理工具类自动解析填充数据

    直接传入对应的对象直接生成Excel中的数据集合 Excel模板-表头所在行为1(所在行从一开始) image.png 首先需要导入的Excel表头行中要添加批注,内容为对应JavaBean的属性值. ...

  6. java struts2 excel上传_文件上传方法,使用Struts2,实现Excel文件读取并写入数据库技术...

    文件上传方法,使用Struts2,实现Excel文件读取并写入数据库技术 如题:文件信息的批量导入-- 项目中经常会遇到客户的一些单表信息的数据批量导入,也就是提供定制Excel表,再把Excel表中 ...

  7. java excel 复杂表头_中国式复杂报表开发教程(4)—类Excel复杂表头报表

    矩表控件出现之前,对于复杂表头的报表的实现,如多行表头嵌套,列单元格合并等,只能通过一些Look Like的方法来实现,并没有做到真正的底层实现来解决实质性的内容.复杂表头报表,甚至只能通过Table ...

  8. java python rsa加密_使用bouncy castle和python PKCS1OAEP进行java RSA加密

    一个多星期以来,我一直在使用this来实现一个RSA安全的与python服务器的通信.在 然而,我一辈子都搞不清所有罐子的进口.在 我已经包括了所有的罐子在蹦蹦城堡网站上找到,仍然没有骰子!在 我听说 ...

  9. JAVA 判断简单密码算法_十道简单算法题二【Java实现】

    前言 清明不小心就拖了两天没更了-- 这是十道算法题的第二篇了-上一篇回顾:十道简单算法题 最近在回顾以前使用C写过的数据结构和算法的东西,发现自己的算法和数据结构是真的薄弱,现在用Java改写一下, ...

  10. java项目怎样提高性能_从代码的角度谈如何优化JAVA代码以提高性能【初、中级程序员必看】...

    最近复习Java基础感触颇深,同样是几行代码,别人写的运行效率就很大,自己写的就不是那么随意,这就牵扯到代码的性能优化问题,这个问题在初级阶段往往没有引起太多的重视,导致后来的工作中就没有往优化这个角 ...

最新文章

  1. jQuery select操作控制方法小结
  2. [java语言]——InetAddress类的getByName()方法
  3. nginx源码编译和集群及高可用
  4. 机器学习中的目标函数、损失函数、代价函数有什么区别?
  5. box怎么用 latency_换轴记给铝厂 F96 牛油果,换一套 Box 重力蓝
  6. python 文件时间戳_调整目录文件时间戳脚本 python
  7. Exchange修改单封邮件大小命令
  8. 亚信基于AWS构建世界级企业互联网平台
  9. ActiveMQ下载与安装(Linux环境下进行)
  10. linux[CentOS 6.5] 用户不在 sudoers 文件中,此事将被报告解决方案
  11. 系分 01 企业信息化战略与实施
  12. wegame饥荒一直登录中_PC饥荒本地双人(最多三人)
  13. 勤做眼保健操,减轻眼睛疲劳
  14. 2019.03.04【ZJOI2018】【BZOJ5212】【洛谷P4338】历史(假LCT)
  15. 互联网日报 | 7月14日 星期三 | 京东宣布涨薪两个月;腾讯收购搜狗股权获无条件批准;教育部辟谣取消教师寒暑假...
  16. 向大家推荐Ubuntu下九大最佳绘图程序
  17. java写的表白小程序_Java实现表白小程序
  18. mysql表中字段数据类型_mysql数据表中字段的数据类型有哪些?
  19. 【学习笔记·2】FOC
  20. UCOS操作系统基础

热门文章

  1. 如何锁定win10笔记本键盘
  2. 删除OneDrive右键菜单
  3. 莫斯科的年轻人(一)
  4. springboot之Result结果类处理
  5. 溢出英语计算机,查看溢出(简述计算机溢出原理)
  6. JWT 避坑指南:nbf 验签失效问题的解决
  7. 软工+C(9): 助教指南
  8. 高防CDN是什么?有什么作用?
  9. 一步一步安装及配置R及Rstudio(详细图文)
  10. 越客汽车美容管理软件