Java 查找、替換并高亮Excel數(shù)據(jù)

需求介紹

我有一個(gè)含有大量數(shù)據(jù)資料的Excel文檔,現(xiàn)需要對(duì)其中的一個(gè)或多個(gè)單元格的數(shù)據(jù)進(jìn)行修改。請(qǐng)問(wèn)如何才能用Java代碼快速查找到指定數(shù)據(jù),然后用新文本將其替換并高亮?例如,在下圖所示的Excel文檔中,我需要用“研發(fā)部”來(lái)替換紅色邊框里的“人資部”并用底色高亮顯示最終數(shù)據(jù)。

解決方案

通過(guò)調(diào)查和測(cè)試,最終發(fā)現(xiàn)了一個(gè)效果極佳的免費(fèi)控件Free?Spire.XLS for Java。現(xiàn)將操作步驟和代碼示例分享出來(lái),可供有需要的人參考。

測(cè)試環(huán)境搭建

在運(yùn)行代碼前,需要搭建代碼測(cè)試環(huán)境。首先,請(qǐng)確保你電腦上安裝配置好JDK和Intellij IDEA;然后將Free Spire.XLS for Java控件里的Jar包導(dǎo)入IDEA中即可。

這里重點(diǎn)介紹下Jar包的兩種導(dǎo)入方式:其一,在官網(wǎng)上下載Free Spire.XLS for Java產(chǎn)品包,解壓后將lib文件夾下的Spire.Xls.jar手動(dòng)導(dǎo)入IDEA。其二推薦使用),在IDEA中創(chuàng)建一個(gè)Maven項(xiàng)目,然后在pom.xml文件中鍵入以下代碼,最后點(diǎn)擊“Import Changes”即可。具體詳細(xì)步驟可參考此教程。

<repositories>

???????<repository>

???????????<id>com.e-iceblue</id>

???????????<url>http://repo.e-iceblue.cn/repository/maven-public/</url>

???????</repository>

??? </repositories>

<dependencies>

??? <dependency>

???????<groupId>e-iceblue</groupId>

???????<artifactId>spire.xls.free</artifactId>

???????<version>3.9.1</version>

??? </dependency>

</dependencies>

最終Jar包導(dǎo)入效果如下圖所示:

代碼示例

import com.spire.xls.*;

import java.awt.*;

public class FindReplaceAndHighlightData {

public static void main(String[] args) {

//加載示例Excel文檔

Workbook workbook = new Workbook();

workbook.loadFromFile("C:\\Users\\Test1\\Desktop\\Sample.xlsx");

//獲取第一個(gè)工作表

Worksheet sheet =workbook.getWorksheets().get(0);

//查找工作表中的指定文字

CellRange[] ranges = sheet.findAllString("人資部", true, true);

for (CellRangerange : ranges)

??????? {

//用新文本替換指定文字

range.setText("研發(fā)部");

//設(shè)置高亮顏色

range.getStyle().setColor(Color.yellow);

??????? }

//保存結(jié)果文檔

workbook.saveToFile("output/replaceAndHighlight.xlsx",ExcelVersion.Version2010;

??? }

}

效果圖:

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容