Java?POI導(dǎo)出Excel時(shí)合并單元格沒有邊框的問題解決
前言
今天用POI導(dǎo)出Excel的時(shí)候,發(fā)現(xiàn)導(dǎo)出的單元格確少邊框,最后發(fā)現(xiàn)有2個(gè)方案可以解決。

方案一
CellRangeAddress的4個(gè)參數(shù)分別表示:起始行號(hào),終止行號(hào), 起始列號(hào),終止列號(hào)
// 使用這種方式合并單元格時(shí),要給單元格逐一設(shè)置帶邊框的樣式
sheet.addMergedRegion(new CellRangeAddress(1, 1, 1, 3));
// 例如:
HSSFCellStyle defaultStyle = ExportToExcelUtil.setDefaultStyle(workbook);
// 為單元格設(shè)置帶邊框的樣式
setCellStyles(row, 2, 3, defaultStyle );
/**
* 設(shè)置單元格樣式
*/
private void setCellStyles(HSSFRow row, int start, int end, HSSFCellStyle cellStyle) {
for (int i = start; i <= end; i++) {
cell = row.createCell(i);
cell.setCellStyle(cellStyle);
}
}
/**
* 帶邊框的樣式+
*/
public static HSSFCellStyle setDefaultStyle(HSSFWorkbook workbook) {
HSSFCellStyle cellStyle = workbook.createCellStyle();
// 邊框
cellStyle.setBorderBottom(BorderStyle.THIN);
cellStyle.setBorderLeft(BorderStyle.THIN);
cellStyle.setBorderRight(BorderStyle.THIN);
cellStyle.setBorderTop(BorderStyle.THIN);
return cellStyle;
}
方案二
// 合并單元格
CellRangeAddress region = new CellRangeAddress(1, 1, 2, 2);
sheet.addMergedRegion(region);
// 合并之后為合并的單元格設(shè)置樣式
setRegionStyle(sheet, region, defaultStyle);
/**
* 為合并的單元格設(shè)置樣式(可根據(jù)需要自行調(diào)整)
*/
@SuppressWarnings("deprecation")
public static void setRegionStyle(HSSFSheet sheet, CellRangeAddress region, HSSFCellStyle cs) {
for (int i = region.getFirstRow(); i <= region.getLastRow(); i++) {
HSSFRow row = sheet.getRow(i);
if (null == row) row = sheet.createRow(i);
for (int j = region.getFirstColumn(); j <= region.getLastColumn(); j++) {
HSSFCell cell = row.getCell(j);
if (null == cell) cell = row.createCell(j);
cell.setCellStyle(cs);
}
}
}總結(jié)
到此這篇關(guān)于Java POI導(dǎo)出Excel時(shí)合并單元格沒有邊框問題解決的文章就介紹到這了,更多相關(guān)Java合并單元格沒有邊框內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
SpringBoot項(xiàng)目導(dǎo)出jar包及瘦身部署方式
今天項(xiàng)目要求Nginx+jar包運(yùn)行多個(gè)項(xiàng)目,在此記錄一下部署的過程,其中借鑒了好多網(wǎng)上前輩的經(jīng)驗(yàn),感謝各位的無私分享2024-07-07
java實(shí)現(xiàn)對(duì)excel文件的處理合并單元格的操作
這篇文章主要介紹了java實(shí)現(xiàn)對(duì)excel文件的處理合并單元格的操作,開頭給大家介紹了依賴引入代碼,表格操作的核心代碼,代碼超級(jí)簡(jiǎn)單,需要的朋友可以參考下2021-07-07
Spring中的@Autowired、@Qualifier和@Primary注解詳解
這篇文章主要介紹了Spring中的@Autowired、@Qualifier和@Primary注解詳解,@Autowired?注解,可以對(duì)類成員變量、方法和構(gòu)造函數(shù)進(jìn)行標(biāo)注,完成自動(dòng)裝配的工作,@Autowired?是默認(rèn)根據(jù)?byType?進(jìn)行自動(dòng)裝配的,需要的朋友可以參考下2023-11-11
IDEA Ultimate2020.2版本配置Tomcat詳細(xì)教程
這篇文章主要介紹了IDEA Ultimate2020.2版本配置Tomcat教程,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-09-09
MybatisPlusInterceptor實(shí)現(xiàn)sql攔截器超詳細(xì)教程
這篇文章主要給大家介紹了關(guān)于MybatisPlusInterceptor實(shí)現(xiàn)sql攔截器超詳細(xì)教程的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-08-08
淺談Java數(shù)組的一些使用方法及堆棧存儲(chǔ)
下面小編就為大家?guī)硪黄獪\談Java數(shù)組的一些使用方法及堆棧存儲(chǔ)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-07-07
Java將Date日期類型字段轉(zhuǎn)換成json字符串的方法
這篇文章主要給大家介紹了關(guān)于Java將Date日期類型字段轉(zhuǎn)換成json字符串的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-02-02

