static DefaultStreamExcelBuilder of(Class<?> dataType) | 根据需要操作的数据类型获取该类的实例对象,所有操作基于该实例对象 |
static DefaultStreamExcelBuilder of(Class<?> dataType,Workbook workbook) | 根据需要操作的数据类型获取该类的实例对象,所有操作基于该实例对象,该实例对象的工作簿基于传入的workbook,即实现同一工作簿多sheet导出 |
DefaultStreamExcelBuilder sheetName(String sheetName) | 设置导出的excel的sheet名称,建议在注解@ExcelTable中设置 |
DefaultStreamExcelBuilder titles(List titles) | 设置excel导出的对应的列标题,建议使用注解@ExcelColumn设置 |
DefaultStreamExcelBuilder fieldDisplayOrder(List fieldDisplayOrder) | 设置excel导出的对应的字段,其中包含展示顺序 |
DefaultStreamExcelBuilder threadPool(ExecutorService executorService) | 设置采用的线程池,如不设置,则不采用线程池 |
DefaultStreamExcelBuilder workbookType(WorkbookType workbookType) | 设置导出的excel的格式,如XLS(.xls)、XLSX(.xlsx)、SXLSX(.xlsx),其中SXLSX(.xlsx)表明采用低内存占用方式生成excel,默认采用该方式 |
DefaultStreamExcelBuilder capacity(int capacity) | 设置导出的Excel容量,若大于该容量,则新建Excel |
DefaultStreamExcelBuilder rowAccessWindowSize(int rowAccessWindowSize) | 该方法只在workbookType设置为SXLSX生效,设置允许内存中最大保存行数,降低poi的使用内存 |
DefaultStreamExcelBuilder start(Class<?>… groups) | 开始构建标志,用于启动生产者消费者模式,默认使用ArrayBlockingQueue,长度为处理器核心数目,其中groups代表需要导出的字段分组 |
DefaultStreamExcelBuilder start(int waitQueueSize, Class<?>… groups) | 开始构建标志,用于启动生产者消费者模式,默认使用ArrayBlockingQueue,需要自定义使用的阻塞队列长度,其中groups代表需要导出的字段分组 |
void append(List<?> data) | 追加数据方法,实现批次导出数据的关键 |
DefaultStreamExcelBuilder autoWidthStrategy(AutoWidthStrategy autoWidthStrategy) | 设置列自动宽度策略,共三种:无自动列宽、自动列宽、计算自动列宽度,其中自动列宽效果好,但性能稍差,计算自动列宽与之相反,默认无自动列宽 |
DefaultStreamExcelBuilder hasStyle() | 设置使用默认样式,流式导出默认无样式 |
DefaultStreamExcelBuilder fixedTitles() | 固定标题行 |
Workbook build() | 最终构建,调用该方法后不允许再次追加数据,否则会报错 |
List buildAsPaths() | 构建为文件,如设置Excel容量,则输出为文件列表 |
Path buildAsZip(String fileName) | 构建为zip压缩文件,如设置Excel容量,则压缩文件中包含多个文件 |