Class ExcelUtil

java.lang.Object
cn.sinozg.applet.common.utils.ExcelUtil

public class ExcelUtil extends Object
导入导出封装 依赖 EasyExcel 简单的封装 复杂的需要自己去实现
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    private static final org.slf4j.Logger
     
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    static void
    downloadExcelTemp(jakarta.servlet.http.HttpServletResponse response, String tempName)
    下载excel 模板
    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页),可以指定表头,样式等自定义方式
    static <T> void
    exportFile(String fileName, List<List<T>> exportData, jakarta.servlet.http.HttpServletResponse response, String... sheetNames)
    excel文件导出(可以包含多个sheet页),固定表头(通过实体指定属性的方式)
    static <T> void
    exportSingleFile(jakarta.servlet.http.HttpServletResponse response, String fileName, ExportData<T> exportData, Consumer<ai.chat2db.excel.write.builder.ExcelWriterBuilder> writeConsumer)
    导出excel 下载 使用bean的方式直接下载导出 自定义样式 和表头
    static <T> void
    exportSingleFile(jakarta.servlet.http.HttpServletResponse response, String fileName, List<T> exportData, String sheetName)
    导出excel 下载 使用bean的方式直接下载导出
    static <T> void
    exportWithTemp(jakarta.servlet.http.HttpServletResponse response, String tempPath, List<T> exportData, Object otherInfo)
    用模板导出复制的 excel
    private static ai.chat2db.excel.write.style.HorizontalCellStyleStrategy
    配置默认的excel表格样式对象
    static <T> List<T>
    importExcel(org.springframework.web.multipart.MultipartFile file, Class<T> clazz)
    通过实体对象,直接读取导入的excel
    static <T, U> ImportExcelResult<U>
    importExcel(org.springframework.web.multipart.MultipartFile file, Function<T,U> function, Class<T> clazz)
    导入excel
    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
    static <T> List<T>
    importExcelStart0(org.springframework.web.multipart.MultipartFile file, Class<T> clazz)
    从第0行开始读取
    static void
    setResponse(jakarta.servlet.http.HttpServletResponse response, String fileName)
    设置 response
    private static void
    setResponse(jakarta.servlet.http.HttpServletResponse response, String fileName, boolean rename)
    设置 response

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • 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)
      通过实体对象,直接读取导入的excel
       
       List<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的entity
      clazz - 导入实体类型
      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的entity
      excel - 函数处理
      clazz - 导入实体类型
      Returns:
      处理后的集合
    • exportWithTemp

      public static <T> void exportWithTemp(jakarta.servlet.http.HttpServletResponse response, String tempPath, List<T> exportData, Object otherInfo)
      用模板导出复制的 excel
       
       ExcelUtil.exportWithTemp(response, "templates/air_port.xlsx", list, other);
       
      Type Parameters:
      T - 数据集合
      Parameters:
      response - HttpServletResponse
      tempPath - 模板名称
      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 - response
      fileName - 文件名称
      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 - response
      fileName - 文件名称
      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 - response
      sheetNames - 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 - HttpServletResponse
      tempName - 模板路径
    • setResponse

      public static void setResponse(jakarta.servlet.http.HttpServletResponse response, String fileName)
      设置 response
      Parameters:
      response - response
      fileName - 文件名
    • setResponse

      private static void setResponse(jakarta.servlet.http.HttpServletResponse response, String fileName, boolean rename)
      设置 response
      Parameters:
      response - response response
      fileName - 文件名
      rename - 是否重命名
    • getExportDefaultStyle

      private static ai.chat2db.excel.write.style.HorizontalCellStyleStrategy getExportDefaultStyle()
      配置默认的excel表格样式对象
      Returns:
      HorizontalCellStyleStrategy