前言
当我们在处理含有大量数据资料的Excel文档时,会遇到需对其中一个或多个单元格的数据进行修改的情况。例如,在下图所示的Excel文档中,我需要用“研发部”来替换红色边框里的“人资部”并用底色高亮显示最终数据。本文就将使用Free Spire.XLS for Java控件来演示如何在Java程序中实现上述操作。
![6d4dce517e2b01771f2483ae64fa2629.png](https://i-blog.csdnimg.cn/blog_migrate/5f2f427996eb8aa435ff570f3ca4b23f.jpeg)
测试环境搭建
在运行代码前,需要搭建代码测试环境。首先,请确保你电脑上安装配置好JDK和Intellij IDEA;然后将Free Spire.XLS for Java控件里的Jar包导入IDEA中即可。
这里重点介绍下Jar包的两种导入方式:其一,在E-iceblue中文官网上下载Free Spire.XLS for Java产品包,解压后将lib文件夹下的Spire.Xls.jar手动导入IDEA。其二(推荐使用),在IDEA中创建一个Maven项目,然后在pom.xml文件中键入以下代码,最后点击“Import Changes”即可。
com.e-icebluehttp://repo.e-iceblue.cn/repository/maven-public/e-iceblue spire.xls.free 3.9.1
最终Jar包导入效果如下图所示:
![8b4cf45be634b57602cb55fad623d5a5.png](https://i-blog.csdnimg.cn/blog_migrate/ed0f08b16eb64fced6d523392bbaa4ff.jpeg)
代码示例
import com.spire.xls.*;import java.awt.*;public class FindReplaceAndHighlightData { public static void main(String[] args) { //加载示例Excel文档 Workbook workbook = new Workbook(); workbook.loadFromFile("C:甥敳獲Test1DesktopSample.xlsx"); //获取第一个工作表 Worksheet sheet = workbook.getWorksheets().get(0); //查找工作表中的指定文字 CellRange[] ranges = sheet.findAllString("人资部", true, true); for (CellRange range : ranges) { //用新文本替换指定文字 range.setText("研发部"); //设置高亮颜色 range.getStyle().setColor(Color.yellow); } //保存结果文档 workbook.saveToFile("output/replaceAndHighlight_result.xlsx", ExcelVersion.Version2010); }}
效果图:
![11197d598b221263ede05ca22cdba19b.png](https://i-blog.csdnimg.cn/blog_migrate/c35b2c19ed75956beb0d7c4d7f669f48.jpeg)