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

时间:2023-01-31 17:12:17

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

引入jar包

导入方法1:

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

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

导入方法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);
}
}

​效果图

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

—本文完—