controller
@PostMapping("/exportCgActive")
public void exportCgActive(@RequestBody CmBmAction cmBmActionExp, HttpServletResponse httpServletResponse) throws IOException {
List<CmBmActionActiveForExport> list = cmBmActionService.selectAttendCmBmActionExportList(cmBmActionExp);
cmBmActionService.exportAction(list,httpServletResponse);
}
service层
@Override
public void exportAction(List<CmBmActionActiveForExport> list, HttpServletResponse httpServletResponse) throws IOException {
try {
httpServletResponse.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
httpServletResponse.setCharacterEncoding("utf-8");
EasyExcel.write(httpServletResponse.getOutputStream(), CmBmActionActiveForExport.class).autoCloseStream(Boolean.TRUE).sheet("实施分红列表").doWrite(list);
} catch (IOException e) {
e.printStackTrace();
}
}
实体类
@ContentStyle(borderTop = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderLeft = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN)
public class CompanyReportExport {
@ExcelIgnore
private String id;
@ExcelProperty({"序号"})
private long index;
@ExcelProperty({"单位名称"})
private String companyName;
@ExcelProperty({"法人户数", "其中aa单位户数"})
private String frSydw;
@ExcelProperty({"法人户数", "公司户数"})
private String frGs;
@ExcelProperty({"法人户数", "其他"})
private String frQt;
@ExcelProperty({"非法人户数", "分公司"})
private String ffrFgs;
@ExcelProperty({"非法人户数", "bb单位"})
private String ffrGkdw;
@ExcelProperty({"非法人户数", "合伙企业"})
private String ffrHhqy;
@ExcelProperty({"非法人户数", "其他"})
private String ffrQt;
@ExcelProperty({"控股公司", "管理层级", "合计"})
private String kggsGlcjHj;
@ExcelProperty({"控股公司", "管理层级", "二级单位户数"})
private String kggsGlcjErji;
@ExcelProperty({"控股公司", "管理层级", "三级单位户数"})
private String kggsGlcjSanji;
@ExcelProperty({"控股公司", "管理层级", "四级单位户数"})
private String kggsGlcjSiji;
@ExcelProperty({"控股公司", "管理层级", "五级单位户数"})
private String kggsGlcjWuji;
@ExcelProperty({"控股公司", "法人层级", "合计"})
private String kggsFrcjHj;
@ExcelProperty({"控股公司", "法人层级", "二级单位户数"})
private String kggsFrcjErji;
@ExcelProperty({"控股公司", "法人层级", "三级单位户数"})
private String kggsFrcjSanji;
@ExcelProperty({"控股公司", "法人层级", "四级单位户数"})
private String kggsFrcjSiji;
@ExcelProperty({"控股公司", "法人层级", "五级单位户数"})
private String kggsFrcjWuji;
@ExcelProperty({"控股公司", "财务并表层级", "合计"})
private String kggsCwbbcjHj;
@ExcelProperty({"控股公司", "财务并表层级", "二级单位户数"})
private String kggsCwbbcjErji;
@ExcelProperty({"控股公司", "财务并表层级", "三级单位户数"})
private String kggsCwbbcjSanji;
@ExcelProperty({"控股公司", "财务并表层级", "四级单位户数"})
private String kggsCwbbcjSiji;
@ExcelProperty({"控股公司", "财务并表层级", "五级单位户数"})
private String kggsCwbbcjWuji;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public long getIndex() {
return index;
}
public void setIndex(long index) {
this.index = index;
}
public String getCompanyName() {
return companyName;
}
public void setCompanyName(String companyName) {
this.companyName = companyName;
}
。。。。。。。
}
前端
import request from '@/utils/request'
this.$confirm('是否确认导出所有数据项?', '警告', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(function() {
_this.exportLoading = true
request({
method: 'post',
url: '/company/bonus/action/exportKgActive',
data: _this.queryParams,
responseType: 'blob'
}).then(res => {
_this.exportLoading = false
const aLink = document.createElement('a')
var fileName = '控股实施分红' + moment().format('YYYYMMDDHHmmss') + '.xlsx'
fileName = fileName.replace(/\"/g, '')
const url = window.URL.createObjectURL(res)
aLink.href = url
aLink.download = fileName
aLink.click()
aLink.remove()
URL.revokeObjectURL(url)
})
}).catch(function() {})