后端Springboot代码实现:
Controller层
/**
* 导出Excel文件
*/
@RequestMapping(value = "/downloadExcel")
public void udpTsExport( HttpServletResponse response, UdpTsEntity entity){
RestResult<?> result = new RestResult<>();
result.setCode(RestResult.FAIL);
try {
udpTsService.udpTsExport(response,entity);
result.setCode(RestResult.SUCCESS);
} catch (Exception e) {
result.setMessage(HandleException.handleExceptionMsg(e));
}
}
Service层
void udpTsExport(HttpServletResponse response, UdpTsEntity entity);
ServiceImpl(Service实现层)
@Override
public void udpTsExport(HttpServletResponse response, UdpTsEntity entity) {
List<UdpTsEntity> udpTsEntity = udpTsMapper.udpTsExport(entity);
// 创建一个webbook 对应一个Excel文件
XSSFWorkbook wb = new XSSFWorkbook();
// 在webbook中添加一个sheet,对应Excel文件中的sheet
XSSFSheet sheet = wb.createSheet("客户信息");
//设置打印参数
sheet.setMargin(XSSFSheet.TopMargin, 1.0);
sheet.setMargin(XSSFSheet.BottomMargin, 1.0);
sheet.setMargin(XSSFSheet.LeftMargin, 0.4);
sheet.setMargin(XSSFSheet.RightMargin, 0.4);
//不显示网格
sheet.setDisplayGridlines(false);
//设置水平居中
sheet.setHorizontallyCenter(true);
sheet.setColumnWidth(0, 15 * 256);
sheet.setColumnWidth(1, 30 * 256);
sheet.setColumnWidth(2, 20 * 256);
sheet.setColumnWidth(3, 30 * 256);
sheet.setColumnWidth(4, 30 * 256);
sheet.setColumnWidth(5, 15 * 256);
//创建单元格样式
XSSFCellStyle cellstyle = wb.createCellStyle();
cellstyle.setBorderBottom(BorderStyle.THIN); //下边框
cellstyle.setBorderLeft(BorderStyle.THIN);//左边框
cellstyle.setBorderTop(BorderStyle.THIN);//上边框
cellstyle.setBorderRight(BorderStyle.THIN);//右边框
// 明细表头字体
XSSFFont fontDetailTitle = wb.createFont();
fontDetailTitle.setFontName("宋体");
fontDetailTitle.setFontHeightInPoints((short) 12);
// 明细字体
XSSFFont fontDetail = wb.createFont();
fontDetail.setFontName("宋体");
fontDetail.setFontHeightInPoi