返回顶部
首页 > 资讯 > 后端开发 > JAVA >java实现在excel中创建及读取公式
  • 449
分享到

java实现在excel中创建及读取公式

java入门javaexcel创建读取公式 2016-02-27 08:02:46 449人浏览 才女
摘要

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

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

如图:

5d2aaa819dec2e1af55de5380e637d2.png

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

创建公式

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();
    }
}

公式创建结果:

9c994a144d53b78e705bc0f8f154804.png

读取公式

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());
            }
        }
    }
}

公式读取结果:

1ac28fe569983ddbdee6ecdcfbc245e.png

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

--结束END--

本文标题: java实现在excel中创建及读取公式

本文链接: https://lsjlt.com/news/4107.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • java实现在excel中创建及读取公式
    操作excel表格用公式来处理数据时,可通过创建公式来运算数据,或通过读取公式来获取数据信息来源。这里使用了java类库(Free Spire.XLS for Java 免费版)获取文件包后,解压,将lib文件夹下的jar文件导入Java程...
    99+
    2016-02-27
    java入门 java excel 创建 读取 公式
  • Java怎么添加和读取Excel公式
    本篇内容主要讲解“Java怎么添加和读取Excel公式”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Java怎么添加和读取Excel公式”吧!操作excel表格用公式来处理数据时,可通过创建公式...
    99+
    2023-06-02
  • Java利用poi读取Excel详解实现
    目录前言第一步导入依赖第二步实现测试类+测试实际应用前言 用户可以直接读取本地文件,也可以通过上传文件的形式读取excel 注意:poi对于读取到空白行的时候,会默认的认为是最后一行...
    99+
    2024-04-02
  • Python自动化办公之读取Excel数据的实现
    目录前言Excel 读取 - xlrd常用函数介绍获取 excel 对象获取工作簿读取工作簿内容前言 之前的章节我们学习了 python 关于 word 文件相关操作的知识点,从今天...
    99+
    2024-04-02
  • Java 在 Excel 中创建饼图/环形图
    饼图是Excel中常见的一种圆饼形图表工具,它能够直接以图形的方式展现各个组成部分在整体中所占的比例,从而帮助我们更加快速直观的去分析和理解抽象的数据。而环形图则是饼图的一种变形,在视觉上,环形图去掉了中心的部分,但其主要功能依旧是诠释数据...
    99+
    2023-06-02
  • Java中怎么实现创建者模式
    这篇文章给大家介绍Java中怎么实现创建者模式,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。创建者模式和工厂模式有点类似,不过关注点不同。工厂模式往往只关心你要的是什么,二不关心这个东西的具体细节是什么。而创建模式则关...
    99+
    2023-06-17
  • python中csv文件创建、读取及修改等操作实例
    1. python中创建新的csv文件 (1). 使用csv.writer()创建: 代码如下: import csv headers = ['学号','姓名','分数'] ro...
    99+
    2024-04-02
  • Python实现读取excel中的图片功能
    目录一、读取excel文件二、读取excel中的图片(1)使用zipfile模块(2)使用openpyxl读取三、对读取的图片进行处理补充一、读取excel文件 我们先来看看如何读取...
    99+
    2024-04-02
  • C#读取Excel及显示和存储的实现方法
    这篇文章主要介绍“C#读取Excel及显示和存储的实现方法”,在日常操作中,相信很多人在C#读取Excel及显示和存储的实现方法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”C#读取Excel及显示和存储的实...
    99+
    2023-06-18
  • SpringBoot概述及在idea中创建方式
    目录SpringBoot概念spring的缺点1、配置繁琐2、依赖繁琐SpringBoot功能1、自动配置2、起步依赖3、辅助功能SpringBoot快速入门需求说明:步骤说明:Sp...
    99+
    2024-04-02
  • java利用注解实现简单的excel数据读取
    实现工具类利用注解实现简单的excel数据读取,利用注解对类的属性和excel中的表头映射,使用Apache的poi就不用在业务代码中涉及row,rows这些属性了。定义注解:@Retention(RetentionPolicy.RUNTI...
    99+
    2023-05-31
    java 注解 excel
  • Java如何实现添加,读取和删除Excel图片
    本篇内容主要讲解“Java如何实现添加,读取和删除Excel图片”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Java如何实现添加,读取和删除Excel图片”吧!介绍工具:Free Spire....
    99+
    2023-06-30
  • 浅谈Java中File文件的创建以及读写
    目录1.创建一个文件2.创建一个文件夹3.创建同目录下文件4.删除文件或空文件夹5.递归删除所有文件(包括子文件)6.读取txt文件内容,流操作要用try-catch(字符流)7.读...
    99+
    2024-04-02
  • 如何在Java中创建和读写File文件
    本篇文章为大家展示了如何在Java中创建和读写File文件,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。创建一个文件 @Test    public...
    99+
    2023-06-15
  • PHP中怎么实现一个读取Excel文件类
    本篇文章为大家展示了PHP中怎么实现一个读取Excel文件类,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。PHP读取Excel文件类代码示例:< php  &nb...
    99+
    2023-06-17
  • java链式创建json对象的实现
    目录1、假设我们要创建一个json对象格式如下:2、往常创建JSON语法:3、解决方案——链式创建JSON:4、实现多级JSON5、YtJSONObject类...
    99+
    2024-04-02
  • Java实现获取Excel中的表单控件
    目录引入jar包代码示例Excel中可通过【开发工具】菜单栏下插入表单控件,如文本框、单选按钮、复选框、组合框等等,插入后的控件可执行设置控件格式,如大小、是否锁定、位置、可选文字、...
    99+
    2024-04-02
  • Java创建型模式之建造者模式怎么实现
    这篇文章主要介绍了Java创建型模式之建造者模式怎么实现的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Java创建型模式之建造者模式怎么实现文章都会有所收获,下面我们一起来看看吧。一.介绍建造者模式(Build...
    99+
    2023-07-05
  • 怎么在java中创建一个接口实现类
    这期内容当中小编将会给大家带来有关怎么在java中创建一个接口实现类,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。java基本数据类型有哪些Java的基本数据类型分为:1、整数类型,用来表示整数的数据类型...
    99+
    2023-06-14
  • Java 在PPT中创建散点图的实现示例
    目录创建图表前创建图表时其他注意事项本文将以Java代码示例展示如何在PPT幻灯片中创建散点图表。 创建图表前 需要在Java程序中导入用于操作PPT的jar包 Free Spire...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作