java實(shí)現(xiàn)對(duì)excel文件的處理合并單元格的操作
一、依賴引入
<dependency> <groupId>net.sourceforge.jexcelapi</groupId> <artifactId>jxl</artifactId> <version>2.6.12</version> </dependency>
二、表格操作
1、讀取xls文件
測試文件為:

代碼:
public void test() throws IOException, BiffException {
// 1、獲取文件,創(chuàng)建workbook
File file = new File("D:/test/自動(dòng)化監(jiān)測數(shù)據(jù)上傳模板20210525.xls");
Workbook workbook = Workbook.getWorkbook(file);
// 2.獲取第一個(gè)工作表
Sheet sheet = workbook.getSheet(0);
// 3.獲取表中數(shù)據(jù)
Range[] rangecell = sheet.getMergedCells();
System.out.println("行:" + sheet.getRows());
System.out.println("列:" + sheet.getColumns());
for (int i = 0; i < sheet.getRows(); i++) {
for (int j = 0; j < sheet.getColumns(); j++) {
Cell cell = sheet.getCell(j, i);
String contents = cell.getContents();
System.out.print(contents + " ");
}
System.out.println();
}
workbook.close();
}
輸出結(jié)果(注意合并單元格處,需要特殊處理):

改造代碼如下:
public void test() throws IOException, BiffException {
// 1、獲取文件,創(chuàng)建workbook
File file = new File("D:/test/自動(dòng)化監(jiān)測數(shù)據(jù)上傳模板20210525.xls");
Workbook workbook = Workbook.getWorkbook(file);
// 2.獲取第一個(gè)工作表
Sheet sheet = workbook.getSheet(0);
// 3.獲取表中數(shù)據(jù)
// 返回合并單元格數(shù)據(jù)
Range[] rangecell = sheet.getMergedCells();
System.out.println("行:" + sheet.getRows());
System.out.println("列:" + sheet.getColumns());
for (int i = 0; i < sheet.getRows(); i++) {
for (int j = 0; j < sheet.getColumns(); j++) {
Cell cell = sheet.getCell(j, i);
String contents = cell.getContents();
// 判斷當(dāng)前單元格,是否為合并單元格
for (Range r : rangecell) {
if (i > r.getTopLeft().getRow() &&
i <= r.getBottomRight().getRow() &&
j >= r.getTopLeft().getColumn() &&
j <= r.getBottomRight().getColumn()) {
contents = sheet.getCell(r.getTopLeft().getColumn(), r.getTopLeft().getRow()).getContents();
}
}
System.out.print(contents + " ");
}
System.out.println();
}
workbook.close();
}
結(jié)果:

到此這篇關(guān)于java實(shí)現(xiàn)對(duì)excel文件的處理合并單元格的文章就介紹到這了,更多相關(guān)java excel文件合并單元格內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
SpringBoot使用Flyway進(jìn)行數(shù)據(jù)庫管理的操作方法
Flyway是一個(gè)開源的數(shù)據(jù)庫版本管理工具,并且極力主張“約定大于配置”,簡單、專注、強(qiáng)大。接下來通過本文給大家介紹SpringBoot使用Flyway進(jìn)行數(shù)據(jù)庫管理的方法,感興趣的朋友一起看看吧2021-09-09
Spring AOP + 注解實(shí)現(xiàn)統(tǒng)一注解功能
本文我們通過Spring AOP和Java的自定義注解來實(shí)現(xiàn)日志的插入功能,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友一起看看吧2018-05-05
Spring?Boot實(shí)現(xiàn)登錄驗(yàn)證碼功能的案例詳解
驗(yàn)證碼的作用可以有效防止其他人對(duì)某一個(gè)特定的注冊(cè)用戶用特定的程序暴力破解方式進(jìn)行不斷的登錄嘗試,接下來通過本文給大家介紹Spring?Boot實(shí)現(xiàn)登錄驗(yàn)證碼功能,需要的朋友可以參考下2022-08-08
SpringBoot響應(yīng)Json數(shù)據(jù)亂碼通過配置的解決
這篇文章主要介紹了SpringBoot響應(yīng)Json數(shù)據(jù)亂碼通過配置的解決,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-11-11
SpringBoot項(xiàng)目注入?traceId?追蹤整個(gè)請(qǐng)求的日志鏈路(過程詳解)
本文介紹了如何在單體SpringBoot項(xiàng)目中通過手動(dòng)實(shí)現(xiàn)過濾器或攔截器來注入traceId,以追蹤整個(gè)請(qǐng)求的日志鏈路,通過使用MDC和配置日志格式,可以在日志中包含traceId,便于問題排查,同時(shí),還在返回的包裝類中注入traceId,以便用戶反饋問題,感興趣的朋友一起看看吧2025-02-02
詳解Java的Hibernate框架中的緩存與二級(jí)緩存
這篇文章主要介紹了Java的Hibernate框架中的緩存與二級(jí)緩存,Hibernate是Java的SSH三大web開發(fā)框架之一,需要的朋友可以參考下2015-12-12

