类 ExcelExportUtil

java.lang.Object
org.jeecgframework.poi.excel.ExcelExportUtil

public class ExcelExportUtil extends Object
excel 导出工具类
版本:
1.0
作者:
JEECG
  • 字段详细资料

    • USE_SXSSF_LIMIT

      public static int USE_SXSSF_LIMIT
  • 方法详细资料

    • exportExcel

      public static org.apache.poi.ss.usermodel.Workbook exportExcel(ExportParams entity, Class<?> pojoClass, Collection<?> dataSet, String[] exportFields)
      根据Entity创建对应的Excel
      参数:
      entity - 表格标题属性
      pojoClass - Excel对象Class
      dataSet - Excel对象数据List
      exportFields - 自定义导出Excel字段数组
    • exportExcel

      public static org.apache.poi.ss.usermodel.Workbook exportExcel(ExportParams entity, Class<?> pojoClass, Collection<?> dataSet)
      根据Entity创建对应的Excel
      参数:
      entity - 表格标题属性
      pojoClass - Excel对象Class
      dataSet - Excel对象数据List
    • exportExcel

      public static org.apache.poi.ss.usermodel.Workbook exportExcel(ExportParams entity, List<ExcelExportEntity> entityList, Collection<? extends Map<?,?>> dataSet)
      根据Map创建对应的Excel
      参数:
      entity - 表格标题属性
      pojoClass - Excel对象Class
      dataSet - Excel对象数据List
    • exportExcel

      public static org.apache.poi.ss.usermodel.Workbook exportExcel(List<Map<String,Object>> list, ExcelType type)
      一个excel 创建多个sheet
      参数:
      list - 多个Map key title 对应表格Title key entity 对应表格对应实体 key data Collection 数据
      返回:
    • exportExcel

      public static org.apache.poi.ss.usermodel.Workbook exportExcel(TemplateExportParams params, Class<?> pojoClass, Collection<?> dataSet, Map<String,Object> map)
      导出文件通过模板解析,不推荐这个了,推荐全部通过模板来执行处理
      参数:
      params - 导出参数类
      pojoClass - 对应实体
      dataSet - 实体集合
      map - 模板集合
      返回:
    • exportExcel

      public static org.apache.poi.ss.usermodel.Workbook exportExcel(TemplateExportParams params, Map<String,Object> map)
      导出文件通过模板解析只有模板,没有集合
      参数:
      params - 导出参数类
      map - 模板集合
      返回:
    • exportBigExcel

      public static IWriter<org.apache.poi.ss.usermodel.Workbook> exportBigExcel(ExportParams entity, Class<?> pojoClass)
      大数据量导出
      参数:
      entity - 表格标题属性
      pojoClass - Excel对象Class
      返回:
      ExcelBatchExportServer 批处理服务
    • exportBigExcel

      public static IWriter<org.apache.poi.ss.usermodel.Workbook> exportBigExcel(ExportParams entity, List<ExcelExportEntity> excelParams)
      大数据量导出
      参数:
      entity -
      excelParams -
      返回:
      ExcelBatchExportServer 批处理服务
    • exportBigExcel

      public static org.apache.poi.ss.usermodel.Workbook exportBigExcel(ExportParams entity, Class<?> pojoClass, IExcelExportServer server, Object queryParams)
      大数据量导出
      参数:
      entity - 导出参数属性
      pojoClass - Excel对象Class
      server - 查询数据的接口
      queryParams - 查询数据的参数
      返回:
      Workbook
    • exportBigExcel

      public static org.apache.poi.ss.usermodel.Workbook exportBigExcel(ExportParams entity, List<ExcelExportEntity> excelParams, IExcelExportServer server, Object queryParams)
      大数据量导出
      参数:
      entity -
      excelParams -
      server - 查询数据的接口
      queryParams - 查询数据的参数
      返回:
      Workbook
    • exportBigExcelEnhanced

      public static <T> org.apache.poi.ss.usermodel.Workbook exportBigExcelEnhanced(ExportParams entity, Class<T> pojoClass, IExcelExportServerEnhanced<T> server, Object queryParams)
      大数据量导出 - 高性能游标分页方案 for [QQYUN-13964]演示系统数据量大,点击没反应

      适用场景: 1. 数据量超过40万+的导出场景 2. 需要避免深分页性能问题 3. 数据表有自增ID或其他有序字段 性能对比: - 传统方式: 40万数据,最后一页查询可能需要10+秒 - 游标方式: 40万数据,每页查询时间恒定在0.1秒左右 使用示例:

       ExportParams params = new ExportParams("订单列表", "订单");
       IExcelExportServerEnhanced server = new IExcelExportServerEnhanced() {
           public List selectListForExcelExport(Object queryParams, Object lastRecord, int pageSize) {
               Long lastId = lastRecord != null ? ((Order)lastRecord).getId() : 0L;
               return orderMapper.selectList(new QueryWrapper()
                   .gt("id", lastId)
                   .orderByAsc("id")
                   .last("LIMIT " + pageSize));
           }
       };
       Workbook workbook = ExcelExportUtil.exportBigExcelEnhanced(params, Order.class, server, queryParams);
       
      
      参数:
      entity - 导出参数属性
      pojoClass - Excel对象Class
      server - 增强的查询数据接口(支持游标分页)
      queryParams - 查询数据的参数
      返回:
      Workbook
    • exportBigExcelEnhanced

      public static <T> org.apache.poi.ss.usermodel.Workbook exportBigExcelEnhanced(ExportParams entity, List<ExcelExportEntity> excelParams, IExcelExportServerEnhanced<T> server, Object queryParams)
      大数据量导出 - 高性能游标分页方案(自定义列)
      参数:
      entity - 导出参数属性
      excelParams - 自定义导出列
      server - 增强的查询数据接口(支持游标分页)
      queryParams - 查询数据的参数
      返回:
      Workbook