栏目分类:
子分类:
返回
终身学习网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
终身学习网 > IT > 软件开发 > 后端开发 > Java

后端传递数据给前端做导出Excel的Controller类

Java 更新时间:发布时间: 百科书网 趣学号

package com.shrj.partybuilder.backstage.controller.organStatement;
import com.shrj.partybuilder.backstage.dto.organStatement.OrganStatementDto;
import com.shrj.partybuilder.backstage.service.organStatement.OrganTeamMembersService;
import com.shrj.partybuilder.backstage.service.report.impl.ReportOutServiceImpl;
import com.shrj.partybuilder.backstage.vo.organStatement.OrganTeamExcelVo;
import com.shrj.partybuilder.backstage.vo.report.OrganTreeVo;
import com.shrj.partybuilder.common.utils.ExcelUtilz;
import com.shrj.wbaostd.authmodule.auth.UserDetailsImpl;
import com.shrj.wbaostd.basemodule.common.R;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.security.oauth2.provider.OAuth2Authentication;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;

import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;
import java.net.URLEncoder;
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;


@GetMapping(“/TeamExcel”)
public void getTeamsExcel(
@RequestParam(name = “organs”, required = false) List organs,
@RequestParam(name = “field”, required = false) List field,
HttpServletResponse response,
OAuth2Authentication oAuth2Authentication) {
R result = this.TeamList((ArrayList) organs, oAuth2Authentication);
if (result.getCode() == 0) {
// 设置流的字符集及文件类型
response.setCharacterEncoding(“utf-8”);
response.setContentType(“application/msword”);
try {
response.setHeader(“Content-Disposition”, “attachment;filename=”
.concat(String.valueOf(URLEncoder.encode(“集团党组织班子成员明细表.xlsx”, “UTF-8”))));
// 写入数据
ExcelUtilz excelUtilz = new ExcelUtilz();
List data = (List) result.get(“organStatementDto”);
if (data == null) {
return;
}
List collect = data.stream().map(OrganStatementDto::toTeamExcelVo).collect(Collectors.toList());
excelUtilz.outExcel(response.getOutputStream(), “sheet1”,
excelUtilz.teamMembersInfoHead(field),
excelUtilz.contentDataByIndex(collect, field));
} catch (Exception e) {
log.error(“导出excel出错”);
}
}
}
}

转载请注明:文章转载自 www.051e.com
本文地址:http://www.051e.com/it/1050455.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 ©2023-2025 051e.com

ICP备案号:京ICP备12030808号