类 ExcelHelper

java.lang.Object
com.diboot.file.util.ExcelHelper

public class ExcelHelper extends Object
excel数据导入导出工具类
  • 构造器概要

    构造器
    构造器
    说明
     
  • 方法概要

    修饰符和类型
    方法
    说明
    static List<TableHead>
    buildTableHeads(Map<Integer,List<String>> headNameMap, Map<Integer,String> fieldNameMap)
    构建 Excel 表头映射
    static <T> void
    buildWriteSheet(String sheetName, Class<T> clazz, Collection<String> columnNameList, java.util.function.BiConsumer<CommentWriteHandler,com.alibaba.excel.write.metadata.WriteSheet> consumer, com.alibaba.excel.write.handler.WriteHandler... writeHandlers)
    构建WriteSheet
    static <T> void
    exportExcel(jakarta.servlet.http.HttpServletResponse response, String fileName, Class<T> clazz, Collection<String> columnNameList, java.util.function.Supplier<List<T>> dataList, com.alibaba.excel.write.handler.WriteHandler... writeHandlers)
    web 导出excel
    static <T> void
    exportExcel(jakarta.servlet.http.HttpServletResponse response, String fileName, Class<T> clazz, Collection<String> columnNameList, List<T> dataList, com.alibaba.excel.write.handler.WriteHandler... writeHandlers)
    web 导出excel
    static <T> void
    exportExcel(jakarta.servlet.http.HttpServletResponse response, String fileName, Class<T> clazz, List<T> dataList, com.alibaba.excel.write.handler.WriteHandler... writeHandlers)
    web 导出excel
    static void
    exportExcel(jakarta.servlet.http.HttpServletResponse response, String fileName, java.util.function.Consumer<com.alibaba.excel.ExcelWriter> writerConsumer)
    web 导出excel 自定义Sheet写入
    static List<TableHead>
    getTableHeads(Class<?> clazz)
    获取 Excel 模板中的表头
    static void
    read(InputStream inputStream, com.alibaba.excel.read.listener.ReadListener<?> listener)
    读取ecxel
    static <T> void
    read(InputStream inputStream, com.alibaba.excel.read.listener.ReadListener<T> listener, Class<T> headClazz)
    读取ecxel
    static <T> void
    read(InputStream inputStream, com.alibaba.excel.support.ExcelTypeEnum excelType, com.alibaba.excel.read.listener.ReadListener<T> listener, Class<T> headClazz)
    读取ecxel
    static void
    setExportExcelResponseHeader(jakarta.servlet.http.HttpServletResponse response, String fileName)
    设置导出的excel 响应头
    static <T> void
    write(OutputStream outputStream, Class<T> clazz, Collection<String> columnNameList, Boolean autoClose, java.util.function.Supplier<List<T>> dataList, com.alibaba.excel.write.handler.WriteHandler... writeHandlers)
    多次写入
    static <T> void
    write(OutputStream outputStream, Class<T> clazz, Collection<String> columnNameList, java.util.function.Supplier<List<T>> dataList, com.alibaba.excel.write.handler.WriteHandler... writeHandlers)
    分批多次写入
    static <T> void
    write(OutputStream outputStream, Class<T> clazz, Collection<String> columnNameList, List<T> dataList, com.alibaba.excel.write.handler.WriteHandler... writeHandlers)
    Excel写入
    static <T> void
    write(OutputStream outputStream, Class<T> clazz, List<T> dataList, com.alibaba.excel.write.handler.WriteHandler... writeHandlers)
    Excel写入
    static void
    write(OutputStream outputStream, String sheetName, List<List<String>> headList, List<List<String>> dataList, com.alibaba.excel.write.handler.WriteHandler... writeHandlers)
    简单将数据写入excel文件
    static <T> void
    writeSheet(com.alibaba.excel.ExcelWriter excel, String sheetName, Class<T> clazz, Collection<String> columnNameList, java.util.function.Supplier<List<T>> dataList, com.alibaba.excel.write.handler.WriteHandler... writeHandlers)
    Sheet 写入
    static <T> void
    writeSheet(com.alibaba.excel.ExcelWriter excel, String sheetName, Class<T> clazz, java.util.function.Supplier<List<T>> dataList, com.alibaba.excel.write.handler.WriteHandler... writeHandlers)
    Sheet 写入
    static <T> void
    writeSheet(com.alibaba.excel.ExcelWriter excel, String sheetName, Class<T> clazz, List<T> dataList, com.alibaba.excel.write.handler.WriteHandler... writeHandlers)
    Sheet 写入

    从类继承的方法 java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • 构造器详细资料

    • ExcelHelper

      public ExcelHelper()
  • 方法详细资料

    • read

      public static void read(InputStream inputStream, com.alibaba.excel.read.listener.ReadListener<?> listener)
      读取ecxel
      参数:
      inputStream -
      listener -
    • read

      public static <T> void read(InputStream inputStream, com.alibaba.excel.read.listener.ReadListener<T> listener, Class<T> headClazz)
      读取ecxel
      参数:
      inputStream -
      listener -
      headClazz - ExcelModel.class
    • read

      public static <T> void read(InputStream inputStream, com.alibaba.excel.support.ExcelTypeEnum excelType, com.alibaba.excel.read.listener.ReadListener<T> listener, Class<T> headClazz)
      读取ecxel
      参数:
      inputStream -
      excelType - excel类型,为空自动推断
      listener -
      headClazz - ExcelModel.class
    • write

      public static void write(OutputStream outputStream, String sheetName, List<List<String>> headList, List<List<String>> dataList, com.alibaba.excel.write.handler.WriteHandler... writeHandlers)
      简单将数据写入excel文件

      默认列宽自适应数据长度, 可自定义

      参数:
      outputStream -
      sheetName -
      dataList -
      writeHandlers -
    • write

      public static <T> void write(OutputStream outputStream, Class<T> clazz, List<T> dataList, com.alibaba.excel.write.handler.WriteHandler... writeHandlers)
      Excel写入

      默认支持:批注写入、单元格下拉选项写入

      参数:
      outputStream -
      clazz - 导出的ExcelModel
      dataList -
      writeHandlers - 写入处理程序
    • write

      public static <T> void write(OutputStream outputStream, Class<T> clazz, Collection<String> columnNameList, List<T> dataList, com.alibaba.excel.write.handler.WriteHandler... writeHandlers)
      Excel写入
      参数:
      outputStream -
      clazz - 导出的ExcelModel
      columnNameList - 需要导出的列属性名,为空时导出所有列
      dataList -
      writeHandlers - 写入处理程序
    • write

      public static <T> void write(OutputStream outputStream, Class<T> clazz, Collection<String> columnNameList, java.util.function.Supplier<List<T>> dataList, com.alibaba.excel.write.handler.WriteHandler... writeHandlers)
      分批多次写入
      参数:
      outputStream -
      clazz -
      columnNameList -
      dataList -
      writeHandlers -
    • write

      public static <T> void write(OutputStream outputStream, Class<T> clazz, Collection<String> columnNameList, Boolean autoClose, java.util.function.Supplier<List<T>> dataList, com.alibaba.excel.write.handler.WriteHandler... writeHandlers)
      多次写入
      参数:
      outputStream -
      clazz -
      columnNameList -
      autoClose - 是否自动关闭流
      dataList -
      writeHandlers -
    • writeSheet

      public static <T> void writeSheet(com.alibaba.excel.ExcelWriter excel, String sheetName, Class<T> clazz, List<T> dataList, com.alibaba.excel.write.handler.WriteHandler... writeHandlers)
      Sheet 写入
      类型参数:
      T - 导出的ExcelModel泛型
      参数:
      excel - Excel 编写器
      sheetName - Sheet名称
      clazz - 导出的ExcelModel
      dataList - 数据列表
      writeHandlers - 写入处理程序
    • writeSheet

      public static <T> void writeSheet(com.alibaba.excel.ExcelWriter excel, String sheetName, Class<T> clazz, java.util.function.Supplier<List<T>> dataList, com.alibaba.excel.write.handler.WriteHandler... writeHandlers)
      Sheet 写入
      类型参数:
      T - 导出的ExcelModel泛型
      参数:
      excel - Excel 编写器
      sheetName - Sheet名称
      clazz - 导出的ExcelModel
      dataList - 数据列表提供者
      writeHandlers - 写入处理程序
    • writeSheet

      public static <T> void writeSheet(com.alibaba.excel.ExcelWriter excel, String sheetName, Class<T> clazz, Collection<String> columnNameList, java.util.function.Supplier<List<T>> dataList, com.alibaba.excel.write.handler.WriteHandler... writeHandlers)
      Sheet 写入
      类型参数:
      T - 导出的ExcelModel泛型
      参数:
      excel - Excel 编写器
      sheetName - Sheet名称
      clazz - 导出的ExcelModel
      columnNameList - 需要导出的列属性名,为空时导出所有列
      dataList - 数据列表提供者
      writeHandlers - 写入处理程序
    • buildWriteSheet

      public static <T> void buildWriteSheet(String sheetName, Class<T> clazz, Collection<String> columnNameList, java.util.function.BiConsumer<CommentWriteHandler,com.alibaba.excel.write.metadata.WriteSheet> consumer, com.alibaba.excel.write.handler.WriteHandler... writeHandlers)
      构建WriteSheet

      默认:自列适应宽、单元格下拉选项(验证)写入,批注写入

      参数:
      sheetName - 可指定sheetName
      columnNameList - 需要导出的ExcelModel列字段名称列表,为空时导出所有列
      clazz - 导出的ExcelModel
      consumer - 分批写入
      writeHandlers - 写入处理程序
    • exportExcel

      public static <T> void exportExcel(jakarta.servlet.http.HttpServletResponse response, String fileName, Class<T> clazz, List<T> dataList, com.alibaba.excel.write.handler.WriteHandler... writeHandlers)
      web 导出excel

      默认:自列适应宽、单元格下拉选项(验证)写入,批注写入

      参数:
      response -
      fileName -
      clazz - 导出的ExcelModel
      dataList -
      writeHandlers - 写入处理程序
    • exportExcel

      public static <T> void exportExcel(jakarta.servlet.http.HttpServletResponse response, String fileName, Class<T> clazz, Collection<String> columnNameList, List<T> dataList, com.alibaba.excel.write.handler.WriteHandler... writeHandlers)
      web 导出excel

      默认 自列适应宽、单元格下拉选项(验证)写入,批注写入

      参数:
      response -
      clazz - 导出的ExcelModel
      dataList - 导出的数据
      columnNameList - 需要导出的ExcelModel列字段名称列表,为空时导出所有列
      writeHandlers - 写入处理程序
    • exportExcel

      public static <T> void exportExcel(jakarta.servlet.http.HttpServletResponse response, String fileName, Class<T> clazz, Collection<String> columnNameList, java.util.function.Supplier<List<T>> dataList, com.alibaba.excel.write.handler.WriteHandler... writeHandlers)
      web 导出excel

      分批多次写入

      类型参数:
      T -
      参数:
      response -
      fileName -
      clazz -
      columnNameList -
      dataList -
      writeHandlers -
    • exportExcel

      public static void exportExcel(jakarta.servlet.http.HttpServletResponse response, String fileName, java.util.function.Consumer<com.alibaba.excel.ExcelWriter> writerConsumer)
      web 导出excel 自定义Sheet写入
      参数:
      response -
      fileName -
      writerConsumer -
    • setExportExcelResponseHeader

      public static void setExportExcelResponseHeader(jakarta.servlet.http.HttpServletResponse response, String fileName)
      设置导出的excel 响应头
      参数:
      response -
      fileName -
    • getTableHeads

      public static List<TableHead> getTableHeads(Class<?> clazz)
      获取 Excel 模板中的表头
      参数:
      clazz - ExcelModel
      返回:
      excel表头映射
    • buildTableHeads

      public static List<TableHead> buildTableHeads(Map<Integer,List<String>> headNameMap, Map<Integer,String> fieldNameMap)
      构建 Excel 表头映射
      参数:
      headNameMap -
      fieldNameMap -
      返回:
      表头映射