fix:优化导出时,因文件名相同无法触发浏览器下载的问题

This commit is contained in:
BrodyGao 2024-04-29 14:47:04 +08:00
parent 2c65c9236a
commit a60e11ee4b
2 changed files with 7 additions and 2 deletions

View File

@ -59,7 +59,7 @@ public class SysUserServiceImpl extends BaseServiceImpl<SysUserDao, SysUserEntit
// 分页查询
IPage<SysUserEntity> page = getPage(query);
params.put(Constant.PAGE, page);
// 数据列表
List<SysUserEntity> list = baseMapper.getList(params);
@ -248,8 +248,9 @@ public class SysUserServiceImpl extends BaseServiceImpl<SysUserDao, SysUserEntit
List<SysUserEntity> list = list(Wrappers.lambdaQuery(SysUserEntity.class).eq(SysUserEntity::getSuperAdmin, SuperAdminEnum.NO.getValue()));
List<SysUserExcelVO> userExcelVOS = SysUserConvert.INSTANCE.convert2List(list);
transService.transBatch(userExcelVOS);
String fileName = "system_user_excel";
// 写到浏览器打开
ExcelUtils.excelExport(SysUserExcelVO.class, "system_user_excel" + DateUtils.format(new Date()), null, userExcelVOS);
ExcelUtils.excelExport(SysUserExcelVO.class, fileName + DateUtils.format(new Date()), null, userExcelVOS);
}
}

View File

@ -25,6 +25,8 @@ import java.io.FileInputStream;
import java.io.IOException;
import java.lang.reflect.Field;
import java.nio.charset.StandardCharsets;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.List;
import java.util.stream.Collectors;
@ -172,6 +174,8 @@ public class ExcelUtils {
response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
response.setHeader("Access-Control-Expose-Headers", "Content-Disposition");
response.setCharacterEncoding("UTF-8");
String timestamp = LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyyMMddHHmmss"));
excelName+=timestamp;
String fileName = URLUtil.encode(excelName, StandardCharsets.UTF_8);
response.setHeader("Content-disposition", "attachment;filename=" + fileName + ".xlsx");