Carina-baby

Java 如何高亮 Excel 中低于或高于平均值的单元格

如果您想查找高于或低于平均值的数字,可以不必计算该平均值,就能查看更高或更低的值。通过Java应用程序,可以自动突出显示这些数字。除了快速突出显示高于或低于平均值的值外,您还可以查看高于或低于的值的个数。现在让我们看看如何在 Java应用程序中实现此操作。

引入jar包

导入方法1:

手动引入。将 Free Spire.XLS for Java 下载到本地,解压,找到lib文件夹下的Spire.Xls.jar文件。在IDEA中打开如下界面,将本地路径中的jar文件引入Java程序:

导入方法2:如果您想通过 Maven安装,则可以在 pom.xml 文件中添加以下代码导入 JAR 文件

复制代码
<repositories>
    <repository>
        <id>com.e-iceblue</id>
        <name>e-iceblue</name>
        <url>https://repo.e-iceblue.cn/repository/maven-public/</url>
    </repository>
</repositories>
<dependencies>
    <dependency>
        <groupId>e-iceblue</groupId>
        <artifactId>spire.xls.free</artifactId>
        <version>5.1.0</version>
    </dependency>
</dependencies>
复制代码

高亮 Excel 中低于或高于平均值的单元格

根据以下步骤操作,您可以轻松高亮 Excel 中低于或高于平均值的单元格。

  • 创建一个Workbook对象。

  • 使用 Workbook.loadFromFile() 方法加载 Excel 文件。

  • 使用 Workbook.getWorksheets.get(index) 方法从工作簿中获取特定工作表。

  • 使用 Worksheet.getConditionalFormats().add() 方法向工作表添加条件格式并返回 XlsConditionalFormats 类的对象。

  • 使用 XlsConditionalFormats.AddRange() 方法设置将应用条件格式的单元格范围。

  • 使用 XlsConditionalFormats.addAverageCondition() 方法添加Average条件,将AverageType指定为大于,并将满足条件的单元格的背景颜色更改为黄色。 

  • 添加另一个Average条件,将包含低于平均值的单元格的背景颜色更改为粉色。

  • 使用 Workbook.saveToFile() 方法将工作簿保存到 Excel 文件。

完整代码

Java

复制代码
import com.spire.xls.AverageType;
import com.spire.xls.ExcelVersion;
import com.spire.xls.Workbook;
import com.spire.xls.Worksheet;
import com.spire.xls.core.IConditionalFormat;
import com.spire.xls.core.spreadsheet.collections.XlsConditionalFormats;

import java.awt.*;

public class HighlightValuesAboveAndBelowAverage {

    public static void main(String[] args) {

        //创建一个Workbook对象
        Workbook workbook = new Workbook();

        //加载 Excel 文件
        workbook.loadFromFile("测试文档.xlsx");

        //获取特定工作表
        Worksheet sheet = workbook.getWorksheets().get(0);

        //向工作表添加条件格式
        XlsConditionalFormats format = sheet.getConditionalFormats().add();

        //设置将应用条件格式的单元格范围
        format.addRange(sheet.getRange().get("F2:F12"));

        //添加条件以突出显示所有大于平均值的单元格
        IConditionalFormat condition1 = format.addAverageCondition(AverageType.Above);
        condition1.setBackColor(Color.yellow);

        //添加条件以突出显示所有小于平均值的单元格
        IConditionalFormat condition2 = format.addAverageCondition(AverageType.Below);
        condition2.setBackColor(Color.pink);

        //获取低于平均值的值的计数
        sheet.getRange().get("F15").setFormula("=COUNTIF(F2:F12,\"<\"&AVERAGE(F2:F12))");

        //获取高于平均值的值的计数
        sheet.getRange().get("F16").setFormula("=COUNTIF(F2:F12,\">\"&AVERAGE(F2:F12))");

        //将工作簿保存到 Excel 文件
        workbook.saveToFile("输出结果.xlsx", ExcelVersion.Version2016);
    }
}
复制代码

效果图

—本文完—

posted on   Carina-baby  阅读(269)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· winform 绘制太阳,地球,月球 运作规律
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 上周热点回顾(3.3-3.9)
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

导航

统计

点击右上角即可分享
微信分享提示