java中Excel公式的计算和函数,实例展示

BSO 2020-09-11 09:07:48 java常见问答 5550

上次已经为大家介绍过java中Excel单元格对齐包含什么?使用边框怎么做?的相关内容,今天继续为大家简述java中Excel公式的计算和函数,并且通过实际的例子来为大家展示。

首先会展示实际的代码,并附有一定的说明。

一、基本计算,代码展示如下:

HSSFSheet sheet = workbook.createSheet("Test"); // 创建工作表(Sheet)
HSSFRow row = sheet.createRow(0);
HSSFCell cell = row.createCell(0);
cell.setCellFormula("2+3*4"); //设置公式
cell = row.createCell(1);
cell.setCellValue(10);
cell = row.createCell(2);
cell.setCellFormula("A 1*B 1"); //设置公式

二、SUM函数,代码展示如下:

HSSFSheet sheet = workbook.createSheet("Test"); // 创建工作表(Sheet)
HSSFRow row = sheet.createRow(0);
row.createCell(0)
    .setCellValue(1);
row.createCell(1)
    .setCellValue(2);
row.createCell(2)
    .setCellValue(3);
row.createCell(3)
    .setCellValue(4);
row.createCell(4)
    .setCellValue(5);
row = sheet.createRow(1);
row.createCell(0)
    .setCellFormula("sum(A 1,C 1)"); //等价于"A 1+C 1"
row.createCell(1)
    .setCellFormula("sum(B 1:D 1)"); //等价于"B 1+C 1+D 1"

三、日期函数,代码展示如下:

HSSFSheet sheet = workbook.createSheet("Test"); // 创建工作表(Sheet)
HSSFCellStyle style = workbook.createCellStyle();
style.setDataFormat(workbook.createDataFormat()
    .getFormat("yyyy-mm-dd"));
HSSFRow row = sheet.createRow(0);
Calendar date = Calendar.getInstance(); //日历对象
HSSFCell cell = row.createCell(0);
date.set(2011, 2, 7);
cell.setCellValue(date.getTime());
cell.setCellStyle(style); //第一个单元格开始时间设置完成
cell = row.createCell(1);
date.set(2014, 4, 25);
cell.setCellValue(date.getTime());
cell.setCellStyle(style); //第一个单元格结束时间设置完成
cell = row.createCell(3);
cell.setCellFormula("CONCATENATE(DATEDIF(A 1,B 1,\"y\"),\"年\")");
cell = row.createCell(4);
cell.setCellFormula("CONCATENATE(DATEDIF(A 1,B 1,\"m\"),\"月\")");
cell = row.createCell(5);
cell.setCellFormula("CONCATENATE(DATEDIF(A 1,B 1,\"d\"),\"日\")");

四、字符串相关函数,代码展示如下:

HSSFSheet sheet = workbook.createSheet("Test"); // 创建工作表(Sheet)
HSSFRow row = sheet.createRow(0);
row.createCell(0)
    .setCellValue("abcdefg");
row.createCell(1)
    .setCellValue("aa bb cc dd ee fF GG");
row.createCell(3)
    .setCellFormula("UPPER(A 1)");
row.createCell(4)
    .setCellFormula("PROPER(B 1)");

接下来对上面代码中的公式作一个简要的说明:

①UPPER(string):将文本转换成大写形式。

②PROPER(string):将文字串的首字母及任何非字母字符之后的首字母转换成大写。将其余的字母转换成小写。

五、IF函数,代码展示如下:

HSSFSheet sheet = workbook.createSheet("Test"); // 创建工作表(Sheet)
HSSFRow row = sheet.createRow(0);
row.createCell(0)
    .setCellValue(12);
row.createCell(1)
    .setCellValue(23);
row.createCell(3)
    .setCellFormula("IF(A 1>B 1,\"A 1大于B 1\",\"A 1小于等于B 1\")");

同样地,对IF函数作一个简要的说明:IF(logical_test,value_if_true,value_if_false)用来作为逻辑判断。这里面的①Logical_test表示计算结果为TRUE或FALSE的任意值或表达式 ; ②value_if_true表示当表达式Logical_test的值为TRUE时的返回值;③value_if_false表示当表达式Logical_test的值为FALSE时的返回值。

以上就是关于java中Excel公式的计算和函数并且通过实际的例子为大家展示,同时还作了简要的说明。如果你对java知识感兴趣,想要了解更多java基础java经典例子,敬请关注奇Q工具网。

推荐阅读:

java中Excel字体的设置,背景和纹理的操作

java中Excel设置宽高怎么做?单元格的日期怎么判断?

java中POI常用类有哪些?Excel合并单元格代码展示