- 資訊首頁(yè) > 開(kāi)發(fā)技術(shù) >
- SpringBoot+easypoi實(shí)現數據的Excel導出
本文實(shí)例為大家分享了SpringBoot+easypoi實(shí)現數據的Excel導出的具體代碼,供大家參考,具體內容如下
maven
<dependency> <groupId>cn.afterturn</groupId> <artifactId>easypoi-spring-boot-starter</artifactId> <version>4.1.0</version> </dependency>
Controller層
// 接口不需要返回值 @RequestMapping(value = "/export-activity-data") public void exportActivityData(@RequestParam String activityType, @RequestParam String activityState, @RequestParam String queryValue, @RequestParam String levelValue, @RequestParam String startTime, @RequestParam String endTime, HttpServletResponse response) { try { manageService.exportActivityData(TFActivityQueryParam.builder() .activityState(activityState) .activityType(activityType) .queryValue(queryValue) .levelValue(levelValue) .startTime("".equals(endTime) ? null : new Date(DateTime.parse(startTime).getMillis())) .endTime("".equals(endTime) ? null : new Date(DateTime.parse(endTime).getMillis())).build(), response); } catch (IOException e) { log.info( "導出失敗", e); } }
service層
public void exportActivityData(TFActivityQueryParam param, HttpServletResponse response) throws IOException { response.setCharacterEncoding("UTF-8"); response.setHeader("content-Type", "application/vnd.ms-excel"); response.setHeader("Content-Disposition", "attachment;filename=" + URLEncoder.encode("活動(dòng)綜合數據.xls", "UTF-8")); val out = response.getOutputStream(); List<TFActivityQueryResult> tfActivityList = getTFActivityList(param); List<TFActivityQueryResultExportDto> exportDtoList = new ArrayList<>(); tfActivityList.forEach(activity -> { TFActivityQueryResultExportDto convert = TFActivityQueryResultExportDto.convert(activity); if (activity.getLevelType().equals("0")) { convert.setAffiliation("云南省"); } else { EparchyCode eparchyCode = getEparchyCodeList().stream() .filter(code -> code.getEparchyCode().equals(activity.getEparchyCode())) .collect(Collectors.toList()).get(0); convert.setAffiliation(eparchyCode.getEparchyShortName()); } exportDtoList.add(convert); }); Workbook workbook = ExcelExportUtil.exportExcel( new ExportParams("活動(dòng)綜合數據", "活動(dòng)"), TFActivityQueryResultExportDto.class, exportDtoList); log.info("workbook: {}", workbook); workbook.write(out); out.close(); }
數據bean
public class TFActivityQueryResultExportDto { @Excel(name = "活動(dòng)編碼", width = 20) private String activityCode; @Excel(name = "活動(dòng)名稱(chēng)", width = 20) private String activityName; @Excel(name = "活動(dòng)標題", width = 20) private String activityTitle; @Excel(name = "歸屬", width = 20) private String affiliation; @Excel(name = "活動(dòng)類(lèi)型", width = 20) private String activityType; @Excel(name = "活動(dòng)時(shí)間", width = 30) private String activityTime; @Excel(name = "活動(dòng)狀態(tài)", width = 20) private String activityState; @Excel(name = "備注", width = 30) private String remark; @Excel(name = "創(chuàng )建時(shí)間", width = 30) private String timeCreate; @Excel(name = "最新操作人", width = 30) private String operatorName; @Excel(name = "更新時(shí)間", width = 30) private String timeUpdate; }
以上就是本文的全部?jì)热?,希望對大家的學(xué)習有所幫助,也希望大家多多支持腳本之家。
免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng )、來(lái)自互聯(lián)網(wǎng)轉載和分享為主,文章觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權請聯(lián)系QQ:712375056 進(jìn)行舉報,并提供相關(guān)證據,一經(jīng)查實(shí),將立刻刪除涉嫌侵權內容。
Copyright ? 2009-2021 56dr.com. All Rights Reserved. 特網(wǎng)科技 特網(wǎng)云 版權所有 珠海市特網(wǎng)科技有限公司 粵ICP備16109289號
域名注冊服務(wù)機構:阿里云計算有限公司(萬(wàn)網(wǎng)) 域名服務(wù)機構:煙臺帝思普網(wǎng)絡(luò )科技有限公司(DNSPod) CDN服務(wù):阿里云計算有限公司 中國互聯(lián)網(wǎng)舉報中心 增值電信業(yè)務(wù)經(jīng)營(yíng)許可證B2
建議您使用Chrome、Firefox、Edge、IE10及以上版本和360等主流瀏覽器瀏覽本網(wǎng)站