POI操作Excel:密码保护和公式再计算
2009-09-18 21:45
686 查看
Excel一个典型的功能就是可以设置各种各样的计算公式。因此我们在用POI操作Excel的时候,如何使Excel里面的公式再计算? | |||
如果是针对某一个cell单元来说的话,可以用HSSFCell.setCellFormula对该cell设置计算公式。新生成的Excel中设置计算公式的那个cell就是计算好的值了。 如果要使整个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(); } } } }
|
相关文章推荐
- poi 操作 excel 里面设置的公式不会自动计算 需要双击才会触发
- POI-----POI操作Excel-5、公式
- POI:Excel计算公式的再计算
- 使用POI操作Excel时对事先写入模板的公式强制执行
- 使用POI处理Excel中公式不能自动计算出来的问题
- 使用poi更新excel,有公式的cell不计算的解决办法
- 关于POI操作excel中带公式的的单元格问题
- poi读取excel模板,填充内容并导出,支持导出2007支持公式自动计算
- poi读取excel模板,填充内容并导出,支持导出2007支持公式自动计算
- poi读取excel模板,填充内容并导出,支持导出2007支持公式自动计算
- poi读取excel模板,填充内容并导出,支持导出2007支持公式自动计算
- 小结:POI写Excel公式(函数)及从Excel中读取公式计算值
- java poi操作excel 添加 锁定单元格保护
- 使用POI操作Excel时对事先写入模板的公式强制执行
- 破解Excel保护密码
- POI操作Excel导入和导出
- POI实战-java开发excel详解(第四章 常用操作-下拉列表)
- poi操作excel,复制sheet,复制行,复制单元格 .
- poi操作Excel学习
- Java程序员从笨鸟到菜鸟之(一百零五)java操作office和pdf文件(三)利用jxl实现数据导出excel报表以及与POI的区别