Package cn.sinozg.applet.common.utils
Class ExcelUtil
java.lang.Object
cn.sinozg.applet.common.utils.ExcelUtil
导入导出封装 依赖 EasyExcel
简单的封装 复杂的需要自己去实现
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic voiddownloadExcelTemp(jakarta.servlet.http.HttpServletResponse response, String tempName) 下载excel 模板static <T> voidexportFile(String fileName, List<ExportData<T>> exportData, Consumer<ai.chat2db.excel.write.builder.ExcelWriterBuilder> writeConsumer, jakarta.servlet.http.HttpServletResponse response) excel文件导出(可以包含多个sheet页),可以指定表头,样式等自定义方式static <T> voidexportFile(String fileName, List<List<T>> exportData, jakarta.servlet.http.HttpServletResponse response, String... sheetNames) excel文件导出(可以包含多个sheet页),固定表头(通过实体指定属性的方式)static <T> voidexportSingleFile(jakarta.servlet.http.HttpServletResponse response, String fileName, ExportData<T> exportData, Consumer<ai.chat2db.excel.write.builder.ExcelWriterBuilder> writeConsumer) 导出excel 下载 使用bean的方式直接下载导出 自定义样式 和表头static <T> voidexportSingleFile(jakarta.servlet.http.HttpServletResponse response, String fileName, List<T> exportData, String sheetName) 导出excel 下载 使用bean的方式直接下载导出static <T> voidexportWithTemp(jakarta.servlet.http.HttpServletResponse response, String tempPath, List<T> exportData, Object otherInfo) 用模板导出复制的 excelprivate static ai.chat2db.excel.write.style.HorizontalCellStyleStrategy配置默认的excel表格样式对象static <T> List<T>importExcel(org.springframework.web.multipart.MultipartFile file, Class<T> clazz) 通过实体对象,直接读取导入的excelstatic <T,U> ImportExcelResult<U> importExcel(org.springframework.web.multipart.MultipartFile file, Function<T, U> function, Class<T> clazz) 导入excelstatic <T,U> ImportExcelResult<U> importExcel(org.springframework.web.multipart.MultipartFile file, Function<T, U> function, Consumer<ai.chat2db.excel.read.builder.ExcelReaderSheetBuilder> excel, Class<T> clazz) 导入excelstatic <T> List<T>importExcelStart0(org.springframework.web.multipart.MultipartFile file, Class<T> clazz) 从第0行开始读取static voidsetResponse(jakarta.servlet.http.HttpServletResponse response, String fileName) 设置 responseprivate static voidsetResponse(jakarta.servlet.http.HttpServletResponse response, String fileName, boolean rename) 设置 response
-
Field Details
-
log
private static final org.slf4j.Logger log
-
-
Constructor Details
-
ExcelUtil
public ExcelUtil()
-
-
Method Details
-
importExcel
public static <T> List<T> importExcel(org.springframework.web.multipart.MultipartFile file, Class<T> clazz) 通过实体对象,直接读取导入的excelList<UserImportDto> list = ExcelUtil.importExcel(multipartFile, UserImportVo.class);- Type Parameters:
T- 导入实体类型- Parameters:
file- 上传的文件clazz- 导入实体类型- Returns:
- 获取到的结果
-
importExcelStart0
public static <T> List<T> importExcelStart0(org.springframework.web.multipart.MultipartFile file, Class<T> clazz) 从第0行开始读取- Type Parameters:
T- 获取到的结果- Parameters:
file- 上传的文件clazz- 导入实体类型- Returns:
- 导入实体类型
-
importExcel
public static <T,U> ImportExcelResult<U> importExcel(org.springframework.web.multipart.MultipartFile file, Function<T, U> function, Class<T> clazz) 导入excel导入的实体bean 需要转化成db存储对象
ImportExcelResult<UserImportDto> result = ExcelUtil.importExcel(multipartFile, f -> { UserImportDto dto = PojoUtil.copyBean(f, UserImportDto.class); dto.setNonce(SnowFlake.genId()); return dto; } , UserImportVo.class);- Type Parameters:
T- 导入实体类型U- db实体类型- Parameters:
file- 上传的文件function- 导入的实体bean 转为db的entityclazz- 导入实体类型- Returns:
- 处理后的集合
-
importExcel
public static <T,U> ImportExcelResult<U> importExcel(org.springframework.web.multipart.MultipartFile file, Function<T, U> function, Consumer<ai.chat2db.excel.read.builder.ExcelReaderSheetBuilder> excel, Class<T> clazz) 导入excel导入的实体bean 需要转化成db存储对象
- Type Parameters:
T- 导入实体类型U- db实体类型- Parameters:
file- 上传的文件function- 导入的实体bean 转为db的entityexcel- 函数处理clazz- 导入实体类型- Returns:
- 处理后的集合
-
exportWithTemp
public static <T> void exportWithTemp(jakarta.servlet.http.HttpServletResponse response, String tempPath, List<T> exportData, Object otherInfo) 用模板导出复制的 excelExcelUtil.exportWithTemp(response, "templates/air_port.xlsx", list, other);- Type Parameters:
T- 数据集合- Parameters:
response- HttpServletResponsetempPath- 模板名称exportData- 导出的数据集合otherInfo- 要导出的单个对象数据 可以为null
-
exportSingleFile
public static <T> void exportSingleFile(jakarta.servlet.http.HttpServletResponse response, String fileName, List<T> exportData, String sheetName) 导出excel 下载 使用bean的方式直接下载导出ExcelUtil.exportSingleFile(response, null, list, "sheet_1");- Type Parameters:
T- 实体类型- Parameters:
response- responsefileName- 文件名称exportData- 导出数据sheetName- sheet 名称
-
exportSingleFile
public static <T> void exportSingleFile(jakarta.servlet.http.HttpServletResponse response, String fileName, ExportData<T> exportData, Consumer<ai.chat2db.excel.write.builder.ExcelWriterBuilder> writeConsumer) 导出excel 下载 使用bean的方式直接下载导出 自定义样式 和表头- Parameters:
response- responsefileName- 文件名称exportData- 导出数据writeConsumer- 样式等定义
-
exportFile
public static <T> void exportFile(String fileName, List<List<T>> exportData, jakarta.servlet.http.HttpServletResponse response, String... sheetNames) excel文件导出(可以包含多个sheet页),固定表头(通过实体指定属性的方式)- Type Parameters:
T- 类型- Parameters:
fileName- 导出文件名exportData- 需要导出数据response- responsesheetNames- sheet页的名称,为空则默认以:sheet + 数字规则命名
-
exportFile
public static <T> void exportFile(String fileName, List<ExportData<T>> exportData, Consumer<ai.chat2db.excel.write.builder.ExcelWriterBuilder> writeConsumer, jakarta.servlet.http.HttpServletResponse response) excel文件导出(可以包含多个sheet页),可以指定表头,样式等自定义方式- Type Parameters:
T- 类型- Parameters:
fileName- 导出文件名exportData- 需要导出数据response- response
-
downloadExcelTemp
public static void downloadExcelTemp(jakarta.servlet.http.HttpServletResponse response, String tempName) 下载excel 模板- Parameters:
response- HttpServletResponsetempName- 模板路径
-
setResponse
设置 response- Parameters:
response- responsefileName- 文件名
-
setResponse
private static void setResponse(jakarta.servlet.http.HttpServletResponse response, String fileName, boolean rename) 设置 response- Parameters:
response- response responsefileName- 文件名rename- 是否重命名
-
getExportDefaultStyle
private static ai.chat2db.excel.write.style.HorizontalCellStyleStrategy getExportDefaultStyle()配置默认的excel表格样式对象- Returns:
- HorizontalCellStyleStrategy
-