操作excel表格用公式来处理数据时,可通过创建公式来运算数据,或通过读取公式来获取数据信息来源。这里使用了java类库(Free Spire.XLS for Java 免费版)获取文件包后,解压,将lib文件夹下的jar文件导入Java程序。

如图:

(免费视频教程分享:java视频教程)

1、创建公式import com.spire.xls.*;

public class AddFormula {

public static void main(String[] args) {

//创建Workbook对象

Workbook wb = new Workbook();

//获取第一个工作表

Worksheet sheet = wb.getWorksheets().get(0);

//声明两个变量

int currentRow = 1;

String currentFormula = null;

//设置列宽

sheet.setColumnWidth(1, 32);

sheet.setColumnWidth(2, 16);

//写入用于测试的数据到单元格

sheet.getCellRange(currentRow,1).setValue("测试数据:");

sheet.getCellRange(currentRow,2).setNumberValue(1);

sheet.getCellRange(currentRow,3).setNumberValue(2);

sheet.getCellRange(currentRow,4).setNumberValue(3);

sheet.getCellRange(currentRow,5).setNumberValue(4);

sheet.getCellRange(currentRow,6).setNumberValue(5);

//写入文本

currentRow += 2;

sheet.getCellRange(currentRow,1).setValue("公式:") ; ;

sheet.getCellRange(currentRow,2).setValue("结果:");

//设置单元格格式

CellRange range = sheet.getCellRange(currentRow,1,currentRow,2);

range.getStyle().getFont().isBold(true);

range.getStyle().setKnownColor(ExcelColors.LightGreen1);

range.getStyle().setFillPattern(ExcelPatternType.Solid);

range.getStyle().getBorders().getByBordersLineType(BordersLineType.EdgeBottom).setLineStyle(LineStyleType.Medium);

//算数运算

currentFormula = "=1/2+3*4";

sheet.getCellRange(++currentRow,1).setText(currentFormula);

sheet.getCellRange(currentRow,2).setFormula(currentFormula);

//日期函数

currentFormula = "=TODAY()";

sheet.getCellRange(++currentRow,1).setText(currentFormula);

sheet.getCellRange(currentRow,2).setFormula(currentFormula);

sheet.getCellRange(currentRow,2).getStyle().setNumberFormat("YYYY/MM/DD");

//时间函数

currentFormula = "=NOW()";

sheet.getCellRange(++currentRow,1).setText(currentFormula);

sheet.getCellRange(currentRow,2).setFormula(currentFormula);

sheet.getCellRange(currentRow,2).getStyle().setNumberFormat("H:MM AM/PM");

//IF函数

currentFormula = "=IF(B1=5,\"Yes\",\"No\")";

sheet.getCellRange(++currentRow,1).setText(currentFormula);

sheet.getCellRange(currentRow,2).setFormula(currentFormula);

//PI函数

currentFormula = "=PI()";

sheet.getCellRange(++currentRow,1).setText(currentFormula);

sheet.getCellRange(currentRow,2).setFormula(currentFormula);

//三角函数

currentFormula = "=SIN(PI()/6)";

sheet.getCellRange(++currentRow,1).setText(currentFormula);

sheet.getCellRange(currentRow,2).setFormula(currentFormula);

//计数函数

currentFormula = "=Count(B1:F1)";

sheet.getCellRange(++currentRow,1).setText(currentFormula);

sheet.getCellRange(currentRow,2).setFormula(currentFormula);

//最大值函数

currentFormula = "=MAX(B1:F1)";

sheet.getCellRange(++currentRow,1).setText(currentFormula);

sheet.getCellRange(currentRow,2).setFormula(currentFormula);

//平均值函数

currentFormula = "=AVERAGE(B1:F1)";

sheet.getCellRange(++currentRow,1).setText(currentFormula);

sheet.getCellRange(currentRow,2).setFormula(currentFormula);

//求和函数

currentFormula = "=SUM(B1:F1)";

sheet.getCellRange(++currentRow,1).setText(currentFormula);

sheet.getCellRange(currentRow,2).setFormula(currentFormula);

//保存文档

wb.saveToFile("AddFormulas.xlsx",FileFormat.Version2013);

wb.dispose();

}

}

公式创建结果:

2、读取公式import com.spire.xls.*;

public class ReadFormula {

public static void main(String[] args) {

//加载Excel文档

Workbook wb = new Workbook();

wb.loadFromFile("AddFormulas.xlsx");

//获取第一个工作表

Worksheet sheet = wb.getWorksheets().get(0);

//遍历B1到B13的单元格

for (Object cell: sheet.getCellRange("B1:B13"))

{

CellRange cellRange = (CellRange)cell;

//判断单元格是否含有公式

if (cellRange.hasFormula())

{

//打印单元格及公式

String certainCell = String.format("单元格[%d, %d]含有公式:", cellRange.getRow(), cellRange.getColumn());

System.out.println(certainCell + cellRange.getFormula());

}

}

}

}

公式读取结果:

相关文章教程推荐:java快速入门

excel获取公式的值java,java实现在excel中创建及读取公式相关推荐

  1. java生成函数excel_java实现在excel中创建及读取公式

    操作excel表格用公式来处理数据时,可通过创建公式来运算数据,或通过读取公式来获取数据信息来源.这里使用了java类库(Free Spire.XLS for Java 免费版)获取文件包后,解压,将 ...

  2. 太实用了!在Java的Word 文档中插入或读取艺术字

    太实用了!在Java的Word 文档中插入或读取艺术字 简直不能太实用! 扫码关注<Java学研大本营>,加入读者群,分享更多精彩 艺术字是一组文本样式,允许您向文本添加设计元素,例如填充 ...

  3. Java:在网络路径中创建文件

    应用场景 使用Java语言在网络路径中创建文件. 实现 本地路径 首先在本地路径中创建文件的代码是这样的. import java.io.*; import java.text.CompactNumb ...

  4. 3分钟学会在 ASP.NET MVC 中创建、读取和编辑 Excel 电子表格

    在本文中,您将学习如何在ASP.NET MVC 应用程序中创建.读取和编辑 Excel 电子表格.为此,我们将创建一个由功能丰富的网格控件组成的电子表格应用程序,用于显示和编辑 Excel 文件,如下 ...

  5. 蓝桥杯-组合公式求值(java)

    算法提高 组合公式求值 时间限制:1.0s 内存限制:256.0MB问题描述给定n, m,求:输入格式输入一行,包含两个整数n, m.输出格式输出一行,包含求得的值,由于答案可能非常大,请输出此公式除 ...

  6. php获取python运行结果_“如何实现在PHP中调用Python并获取运行结果“

    如何实现在PHP中调用Python并获取运行结果 Python的import包件功能就跟PHP的include类似更确切的说应该更像是PHP中的require,因为Python里的import只要目就 ...

  7. Java学习笔记:Word中创建图表如此简单

    用法 Word中创建图表的方式是一样的. XWPFChart chart = WordHelpers.createChart(doc,500,300); XWPFChart和XSSFChart一样都是 ...

  8. python字典默认输出键还是值_说说在 Python 字典中如何在读取不存在的键时得到一个默认值...

    如果有方法能够在 Python 字典类型中,当读取不存在的键时能够得到一个默认值,那么代码就会变得更加直观.通过 defaultdict 类型可以实现这个目的1. 我们来改写一个 "输出单词 ...

  9. java 获取文本框值_在Java中从Excel获取文本框值

    这将有助于阅读您的Excel表格 HSSFWorkbook workbook = new HSSFWorkbook(fs); for (HSSFObjectData obj : workbook.ge ...

最新文章

  1. C# 跨线程赋值的简单做法
  2. 如何做EL表达式能调用的函数-小例子(转)
  3. Linux基础命令---more
  4. jpa 不自动建表_如何来实现SpringBoot应用的JPA数据持久化和热插拔
  5. 返回值类型与函数类型不匹配_C++返回值类型后置(跟踪返回值类型)
  6. 使用Servlet 3.0,Redis / Jedis和CDI的简单CRUD –第2部分
  7. 算法笔记_031:计算中值和选择问题(Java)
  8. GB/T 36964-2018《软件工程 软件开发成本度量规范》国家标准正式发布
  9. 3D建模到底难不难?
  10. python中match函数的用法_python repython re.match函数怎么来使用
  11. 中国联通沃云----弹性块存储使用说明
  12. OI生涯回忆录(Part3:至初三NOIP发成绩)
  13. 如何去开发一个webApp
  14. Linux 查看查找文件
  15. 仿小米商城页面和简单效果
  16. Verilog HDLBits5 Circuits-combinational logic
  17. 拿到webshell后的提权详解
  18. cydia java_使用Cydia Substrate Hook Android Java世界
  19. 修改Android默认启动项launcher
  20. Andriod开发 GridView

热门文章

  1. Msu 系统补丁文件安装方法
  2. H5判断是否安装app和唤起APP
  3. 同济大学软件学院万院长谈泽业
  4. 漫画:什么是红黑树?(整合版)
  5. 了解堡垒机价格与哪些方面有关,正确的进行选择
  6. 语义分割综述解读--主流方法篇
  7. 惊艳!人人都能玩转酷炫的数据可视化,高德LOCA 2.0全新升级,轻松实现海量数据渲染...
  8. obj(判断对象中是否包含某个key属性)
  9. Android基础总结(三)
  10. python使用卷积神经网络(CNN,VGGNET)识别猫狗