package org.eco.common.excel.service;

import org.eco.common.excel.core.ExcelListener;
import org.eco.common.excel.entity.ExcelResultRes;

import java.io.InputStream;
import java.util.List;

/**
 * @Description: IExcelService 接口
 * @Author: GaoKun Wang
 * @Date: 2024/6/26
 */
public interface IExcelService {

    /**
     * 使用自定义监听器 异步导入 自定义返回
     *
     * @param inputStream 输入流文件
     * @param name        文件名
     * @param clazz       对象类型
     * @param listener    自定义监听器
     */
    <T> ExcelResultRes importExcel(InputStream inputStream, String name, Class<T> clazz, ExcelListener<T> listener);


    /**
     * 导出excel
     *
     * @param list      导出数据集合
     * @param sheetName 工作表的名称
     * @param clazz     实体类
     */
    <T> ExcelResultRes exportExcel(List<T> list, String sheetName, Class<T> clazz);
}
