最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

SpringBoot+easypoi實(shí)現(xiàn)數(shù)據(jù)的Excel導(dǎo)出

 更新時(shí)間:2021年05月20日 17:13:54   作者:進(jìn)擊的_菜雞  
這篇文章主要為大家詳細(xì)介紹了SpringBoot+easypoi實(shí)現(xiàn)數(shù)據(jù)的Excel導(dǎo)出,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

本文實(shí)例為大家分享了SpringBoot+easypoi實(shí)現(xiàn)數(shù)據(jù)的Excel導(dǎo)出的具體代碼,供大家參考,具體內(nèi)容如下

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( "導(dǎo)出失敗", 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)綜合數(shù)據(jù).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)綜合數(shù)據(jù)", "活動(dòng)"), TFActivityQueryResultExportDto.class, exportDtoList);
        log.info("workbook: {}", workbook);
        workbook.write(out);
        out.close();
 }

數(shù)據(jù)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)標(biāo)題", 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ī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論

临武县| 北碚区| 正安县| 清徐县| 田阳县| 江阴市| 都兰县| 黔西| 陇西县| 扶余县| 博客| 合山市| 德庆县| 成安县| 光泽县| 克东县| 石家庄市| 剑河县| 宜黄县| 宝应县| 合水县| 广安市| 道真| 尼玛县| 交口县| 北碚区| 科技| 永德县| 罗田县| 普兰店市| 宣汉县| 武城县| 镇沅| 沿河| 泗水县| 五指山市| 甘谷县| 台山市| 盱眙县| 仙居县| 元谋县|