日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術(shù)文章
文章詳情頁

Java中EasyPoi導(dǎo)出復(fù)雜合并單元格的方法

瀏覽:23日期:2022-08-18 13:47:35
前言:

上星期做了一個Excel的單元格合并,用的是EasyPoi,我之前合并單元格都是原生的,第一次使用EasyPoi合并也不太熟悉,看著網(wǎng)上自己套用,使用后發(fā)現(xiàn)比原生的方便些,貢獻一下,也給其他用到合并而且用的是EasyPoi的小伙伴節(jié)省下時間。

導(dǎo)出模板:

Java中EasyPoi導(dǎo)出復(fù)雜合并單元格的方法

坐標(biāo):

版本號,自己來定,可以去官網(wǎng)查看:EasyPoi官網(wǎng)

<!-- easypoi 導(dǎo)入包 --> <dependency> <groupId>cn.afterturn</groupId> <artifactId>easypoi-base</artifactId> <version>4.0.0</version> </dependency> <dependency> <groupId>cn.afterturn</groupId> <artifactId>easypoi-annotation</artifactId> <version>4.0.0</version> </dependency>實現(xiàn)代碼:

//表頭設(shè)置List<ExcelExportEntity> colList = new ArrayList<ExcelExportEntity>();ExcelExportEntity colEntity = new ExcelExportEntity('經(jīng)銷商', 'distributorName');colEntity.setNeedMerge(true);colEntity.setWidth(20);colList.add(colEntity);colEntity = new ExcelExportEntity('科室', 'dept');colEntity.setNeedMerge(true);colList.add(colEntity);colEntity = new ExcelExportEntity('部門', 'region');colEntity.setNeedMerge(true);colList.add(colEntity);colEntity = new ExcelExportEntity('省份', 'province');colEntity.setNeedMerge(true);colList.add(colEntity);colEntity = new ExcelExportEntity('門店數(shù)量', 'storeNum');colEntity.setNeedMerge(true);colEntity.setStatistics(true);colList.add(colEntity);Map<String, Integer> map = DateUtils.getLastDayOfMonthByStr(request.getMonthStr());Integer dayNum = map.get('dayNum');for (int i = 1; i <= dayNum; i++) { ExcelExportEntity group_1 = new ExcelExportEntity(i + '日', 'day'); List<ExcelExportEntity> exportEntities = new ArrayList<>(); ExcelExportEntity appalyExcel = new ExcelExportEntity('申請數(shù)量', 'applyNum' + i); appalyExcel.setStatistics(true); exportEntities.add(appalyExcel); ExcelExportEntity adoptExcel = new ExcelExportEntity('通過數(shù)量', 'adoptNum' + i); adoptExcel.setStatistics(true); exportEntities.add(adoptExcel); group_1.setList(exportEntities); colList.add(group_1);}//文件數(shù)據(jù)List<Map<String, Object>> list = new ArrayList<>();List<StoreNewAddReportVO.DistributorStoreNewAddReportVO> disList = register.getStoreNewAddReportVO().getDistributorStoreNewAddReportVOList();int size = disList.size();for (int i = 0; i < size; i++) { StoreNewAddReportVO.DistributorStoreNewAddReportVO dis = disList.get(i); Map<String, Object> valMap = new HashMap<>(); valMap.put('distributorName', dis.getDistributorName()); valMap.put('dept', dis.getDept()); valMap.put('region', dis.getRegion()); valMap.put('province', dis.getProvince()); valMap.put('storeNum', dis.getStoreNum()); List<StoreNewAddReportVO.dayData> dayDataList = dis.getDayDataList(); Map<String, List<StoreNewAddReportVO.dayData>> collectMap = Maps.newHashMap(); if (CollectionUtils.isNotEmpty(dayDataList)) { collectMap = dayDataList.stream().collect(Collectors.groupingBy(StoreNewAddReportVO.dayData::getDayStr)); } List<Map<String, Object>> list_1 = new ArrayList<>(); Map<String, Object> valMap_1 = new HashMap<>(); for (int j = 1; j <= dayNum; j++) { List<StoreNewAddReportVO.dayData> dayData = collectMap.get(String.valueOf(j)); int applyflag = 0; int adoptflag = 0; if (CollectionUtils.isNotEmpty(dayData)) { applyflag = dayData.get(0).getApplyNum(); adoptflag = dayData.get(0).getAdoptNum(); } valMap_1.put('applyNum' + j, applyflag); valMap_1.put('adoptNum' + j, adoptflag); } list_1.add(valMap_1); valMap.put('day', list_1); list.add(valMap);}//導(dǎo)出Workbook workbook = ExcelExportUtil.exportExcel(new ExportParams('【' + request.getMonthStr() + '】門店注冊日明細數(shù)據(jù)', '數(shù)據(jù)'), colList, list);Sheet sheet = workbook.getSheet('數(shù)據(jù)');Row row = sheet.getRow(sheet.getLastRowNum());Cell cell = row.getCell(0);cell.setCellValue('總計');CellStyle cellStyle = workbook.createCellStyle();cellStyle.setAlignment(HorizontalAlignment.CENTER);//水平居中cellStyle.setVerticalAlignment(VerticalAlignment.CENTER);//垂直居中Font font = workbook.createFont();font.setFontHeightInPoints((short) 15);font.setFontName('Trebuchet MS');cellStyle.setFont(font);cell.setCellStyle(cellStyle);CellRangeAddress range_0 = new CellRangeAddress(sheet.getLastRowNum(), sheet.getLastRowNum(), 0, 3);sheet.addMergedRegion(range_0);File file = new File('D:'.concat(UUID.randomUUID().toString().concat('.xls'))); FileOutputStream fileOutputStream = null; try { fileOutputStream = new FileOutputStream(file); workbook.write(fileOutputStream); } catch (Exception e) { log.error('門店注冊日workbook寫入到文件中失敗,錯誤信息:{}', ExceptionUtils.getStackTrace(e)); } finally { if (null != fileOutputStream) {try { fileOutputStream.close();} catch (IOException e) { //skip} } }

具體的API細節(jié)就不介紹了可以去官網(wǎng),關(guān)鍵在于ExcelExportEntity 這個類,它是以map形式展現(xiàn)的,創(chuàng)建的時候設(shè)置key,設(shè)置value的根據(jù)key進行設(shè)置,上面一些StoreNewAddReportVO還有其他是我的業(yè)務(wù)類, 到時候可以替換掉。

到此這篇關(guān)于Java中EasyPoi導(dǎo)出復(fù)雜合并單元格的方法的文章就介紹到這了,更多相關(guān)Java EasyPoi導(dǎo)出單元格內(nèi)容請搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標(biāo)簽: Java
相關(guān)文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
91午夜精品| 亚洲人妖在线| 久久天堂成人| 日本不卡视频在线观看| 国产日韩欧美一区| 夜夜嗨一区二区三区| 久久99国产精品视频| 亚洲午夜免费| 久久激情中文| 麻豆精品一区二区综合av| 午夜在线播放视频欧美| 日韩欧美一区二区三区免费看| 午夜亚洲福利| 国产精品毛片一区二区三区| 亚洲成a人片| 欧美精品导航| 国产精品一级| 欧美日一区二区在线观看| 只有精品亚洲| 亚洲精品va| 夜夜嗨网站十八久久 | 亚洲一级网站| 青青久久av| 亚洲第一区色| 今天的高清视频免费播放成人| 欧洲精品一区二区三区| 韩国一区二区三区视频| 国产精品探花在线观看| 欧美激情91| 国产91欧美| 亚洲风情在线资源| 中文在线中文资源| 国产精品手机在线播放| 91精品日本| 综合日韩av| 一区福利视频| 日韩在线播放一区二区| 欧美一区久久| 国产videos久久| 欧美日韩视频网站| 一区在线免费观看| 日韩精品高清不卡| 91精品国产自产在线观看永久∴| 亚洲男人在线| 综合日韩av| 国产欧美日韩亚洲一区二区三区| 国产99精品| 国产精品亚洲四区在线观看| 国模 一区 二区 三区| 婷婷久久免费视频| 欧美va亚洲va日韩∨a综合色| 成人午夜亚洲| 国产精品一区三区在线观看| 一本色道精品久久一区二区三区| 久久精品网址| 精品精品99| 精品一区电影| 麻豆国产91在线播放| 91p九色成人| 综合在线一区| 久久不射中文字幕| 亚洲女同中文字幕| 国产精品原创| 国产一区二区三区亚洲综合| 国产精品玖玖玖在线资源| 亚洲男人在线| 性欧美精品高清| 亚洲在线免费| 亚洲精品无播放器在线播放| 黄色成人精品网站| 99成人在线| 午夜精品免费| 亚洲另类黄色| 欧美啪啪一区| 精品欧美日韩精品| а√天堂8资源中文在线| 精品国产三区在线| 日本在线高清| 成人看片网站| 亚洲欧美高清| 日韩在线观看一区二区三区| 国产精品一区免费在线| 国产中文欧美日韩在线| 久久精品卡一| 中文字幕一区二区三区日韩精品| 综合干狼人综合首页| 欧美精品中文字幕亚洲专区| 91青青国产在线观看精品| 一区在线免费观看| 日韩av影院| 中文字幕一区久| 亚洲在线网站| 久久国产欧美日韩精品| 四季av一区二区凹凸精品| 激情久久五月| 日本中文字幕不卡| 国产精品蜜芽在线观看| 免费高清在线一区| 久久久久久网| 亚洲三级网址| 日韩一区欧美| 久久激情五月激情| 蜜桃tv一区二区三区| 国产免费av一区二区三区| 欧美成人国产| 日本不卡高清视频| 久久蜜桃av| 亚洲欧美日韩一区在线观看| 国产欧美日韩精品一区二区免费 | 国产精品成人自拍| 日韩中文首页| 欧美另类中文字幕| 亚洲精品亚洲人成在线观看| 一级欧洲+日本+国产| 福利在线免费视频| 国产精品tv| 国产亚洲高清视频| 色婷婷久久久| 久久中文欧美| 精品一区二区三区四区五区| 蜜臀久久99精品久久久画质超高清| 日本久久成人网| 福利一区二区免费视频| 国产精品va视频| 国产亚洲一卡2卡3卡4卡新区| 日韩午夜免费| 不卡中文字幕| 欧美日韩国产免费观看视频| 三级小说欧洲区亚洲区| а√在线中文在线新版| 久久久久久夜| 麻豆国产一区| 久久精品国产亚洲aⅴ| 国产欧美日韩综合一区在线播放| 日韩亚洲精品在线观看| 综合干狼人综合首页| 日韩一区二区三区免费视频| 日韩中文欧美在线| 蜜臀91精品一区二区三区| 国产一区91| 亚州av一区| 日韩av不卡在线观看| 久久99免费视频| 久久精品免费看| 久久一级电影| 另类av一区二区| 国产日韩在线观看视频| 88久久精品| 欧美黄色网页| 久久亚洲欧洲| 奇米777国产一区国产二区| 国产欧美日韩精品一区二区三区| 久久精品国产99国产精品| 欧美精品高清| 日韩福利视频导航| 成年男女免费视频网站不卡| 欧美精品黄色| 91综合久久爱com| 91综合网人人| 亚洲免费网址| 麻豆久久一区二区| 免费不卡中文字幕在线| 蜜桃一区二区三区在线| 国产区精品区| 在线亚洲国产精品网站| 国产精品一区二区三区av| 在线成人动漫av| 国产精品magnet| 九九综合在线| 欧美日韩伊人| 麻豆91精品| 国产成人精品亚洲线观看| 麻豆亚洲精品| www.九色在线| 国产精品大片| 亚洲精品婷婷| 伊人久久大香线蕉av不卡| 亚洲理论在线| 久久美女性网| 国产欧美一区二区三区国产幕精品| 激情久久久久久| sm久久捆绑调教精品一区| 国产精品亚洲综合久久| 亚洲精品自拍| 免费观看久久av| 色婷婷狠狠五月综合天色拍| 国产精品99精品一区二区三区∴| 美女精品网站| 免费国产自久久久久三四区久久| 国产suv精品一区| 老色鬼精品视频在线观看播放| 石原莉奈一区二区三区在线观看| 高清日韩中文字幕| 精品三级在线观看视频| 国产精品一区二区美女视频免费看| 日韩欧美三区| 欧美在线日韩| 日本不卡视频在线| 欧美日一区二区三区在线观看国产免| 石原莉奈在线亚洲三区|