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 2023-01-29 11:46 Carina-baby 阅读(257) 评论(0) 编辑 收藏 举报