POI操作Excel:密码保护和公式再计算
来源:互联网 发布:java视频 百度网盘 编辑:程序博客网 时间:2024/05/16 12:50
如果要使整个sheet里面的所有计算公式都重新计算一遍的话,可以用HSSFSheet.setForceFormulaRecalculation(true)方法。这样设置后,这个sheet里面的计算公式都能再计算了。
同时,为了保护个人信息等,我们可能需要对这个Excel文件加密保护。这个时候可以用HSSFWorkbook.writeProtectWorkbook( String password, String username )方法。
示范代码如下:模板文件(d:/FormulaRecalculation.xls)有一个公式:A2=A1+B1。 A1初期值为1,B1初期值为2,A2的自动计算结果为3。
public static void main(String[] args) {
FileOutputStream fileOut = null;
try {
// 创建一个工作薄
HSSFWorkbook wb = new HSSFWorkbook(new FileInputStream(
"d:/FormulaRecalculation.xls"));
// 取得第一个sheet
HSSFSheet sheet1 = wb.getSheetAt(0);
// 取得第一个sheet的第一行
HSSFRow row1 = sheet1.getRow(0);
// 取得第一个sheet的第一行的第一个cell
HSSFCell cell1 = row1.getCell(0);
// 直接赋值
cell1.setCellValue("10");
// 取得第一个sheet的第一行的第二个cell
HSSFCell cell2 = row1.getCell(1);
// 设置计算式
cell2.setCellFormula("A1 + 100");
//设置密码保护·
wb.writeProtectWorkbook("password", "owner");
// 设置强制执行再计算
sheet1.setForceFormulaRecalculation(true);
// 写入excel文件
fileOut = new FileOutputStream("d:/workbook.xls");
wb.write(fileOut);
fileOut.close();
} catch (IOException io) {
io.printStackTrace();
System.out.println("erorr : " + io.getMessage());
} finally {
if (fileOut != null) {
try {
fileOut.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
A1直接赋值为10,结果为10
B1设置了计算公式A1+100,结果为110
A2的计算A1+B1,结果为120。
这里需要注意的是如果模板文件的工具->选项中的计算公式属性没有设置为"自动"的话,这个地方的A2是不会自动计算的,结果还是初始值3 上面的代码中如果没有sheet1.setForceFormulaRecalculation(true)这个设置的话,执行结果如下:
A1直接赋值为10,结果为10
B1设置了计算公式A1+100,结果为110
A2的计算是A1+B1,但这个计算公式不会自动计算,因此结果还是初始值3 上面的代码由于设置了保护密码,因此生成的workbook.xls文件打开的时候需要输入密码password。
- POI操作Excel:密码保护和公式再计算
- POI:Excel计算公式的再计算
- POI-----POI操作Excel-5、公式
- poi 操作 excel 里面设置的公式不会自动计算 需要双击才会触发
- jxl和poi操作Excel
- jxl和poi操作Excel
- 小结:POI写Excel公式(函数)及从Excel中读取公式计算值
- excel计算两列差的公式和方法
- poi excel带公式导出
- poi读取excel内容(公式)
- POI执行EXCEL中的公式
- poi excel带公式导出
- POI读取Excel公式列
- 使用POI操作Excel和Word
- POI操作Excel导入和导出
- poi操作Excel, 各种具体操作和解释
- 使用POI操作Excel和Word
- 使用POI处理Excel中公式不能自动计算出来的问题
- 基本实用的build.xml
- (摘)面向对象c++数据结构之基本数据结构-链表-使用链表管理器(连载中)
- 搜索引擎技术相关网站
- 《组网技术》课件成了优质资源
- 大家多多关照啊!
- POI操作Excel:密码保护和公式再计算
- 利用CSS实现鼠标经过图像
- linux下修改文件内容
- PetShop的系统架构设计
- [转]深入分析C++中char * 和char []的区别
- 何谓MVC模式?
- 俞敏洪+马云+牛根生+史玉柱经典语录
- “五险一金”的深入解析,上班打工族的一定要看
- ENCODE封装