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-07java實(shí)現(xiàn)對(duì)excel文件的處理合并單元格的操作
這篇文章主要介紹了java實(shí)現(xiàn)對(duì)excel文件的處理合并單元格的操作,開頭給大家介紹了依賴引入代碼,表格操作的核心代碼,代碼超級(jí)簡單,需要的朋友可以參考下2021-07-07Spring中的@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-11IDEA Ultimate2020.2版本配置Tomcat詳細(xì)教程
這篇文章主要介紹了IDEA Ultimate2020.2版本配置Tomcat教程,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-09-09MybatisPlusInterceptor實(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-07Java將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