package seven.savewapper; //======================================================= // .----. // _.'__ `. // .--(^)(^^)---/!\ // .' @ /!!!\ // : , !!!! // `-..__.-' _.-\!!!/ // `;_: `"' // .'"""""`. // /, ya ,\\ // //狗神保佑\\ // `-._______.-' // ___`. | .'___ // (______|______) //======================================================= import org.apache.poi.ss.formula.functions.T; import seven.ExcelSuperInterface; import seven.callBack.CellStyleInterface; import seven.callBack.DataFilterColumnInterface; import seven.callBack.DataFilterInterface; import seven.callBack.DataFilterProcessInterface; import java.io.OutputStream; import java.util.Comparator; import java.util.HashMap; import java.util.List; import java.util.function.Consumer; /** * [Zhihu]https://www.zhihu.com/people/Sweets07 * [Github]https://github.com/MatrixSeven * Created by seven on 2016/11/30. */ public interface SaveExcel<T> { /** * 请使用Flush * * @throws Exception */ @Deprecated void Save() throws Exception; /** * 对要包装的数据进行过滤,对应实体Bean\n * 如果返回false将放弃此条数据 * * @param filter {@link DataFilterInterface} * @return */ SaveExcel<T> Filter(DataFilterInterface<T> filter); /** * 此处传入每一行打包好的数据。对应一个实体\n * 在process方法里可对属性进行处理加工 * * @param process {@link DataFilterProcessInterface} * @return */ SaveExcel<T> Process(DataFilterProcessInterface<T> process); /** * 对结果的List进行排序 * * @param c * @return */ SaveExcel<T> Sort(Comparator<? super T> c); /** * 此处过滤Excel的列数据(列名)\n * 如果加入后,只保留对应数据 * * @param consumer {@link DataFilterColumnInterface} */ SaveExcel<T> FilterCol(Consumer<List<String>> consumer); /** * 此处过滤Excel的列数据(列名)\n * 如果加入后,删除这些列 * * @param consumer {@link DataFilterColumnInterface} */ SaveExcel<T> AnyCol(Consumer<List<String>> consumer); /** * 网页输出流 * * @param stream * @return */ SaveExcel<T> SetOutputStream(OutputStream stream) throws Exception; /** * @throws Exception */ void Flush() throws Exception; /** * 设置保存路径 * * @param path */ SaveExcel<T> SetPath(String path); /** * 转换字段名称 * * @param title * @param newTitle * @return */ SaveExcel<T> ConvertName(String title, String newTitle); /** * 转换字段 * * @param titleMapping * @return */ SaveExcel<T> ConvertName(HashMap<String, String> titleMapping); /** * 转换字段 * * @param titleMapping * @return */ SaveExcel<T> ConvertName(HashMap<String, String> titleMapping, Boolean isInit); /** * 设置风格.必须保证wk不能为null。 * * @param name * @param cellStyle * @return */ SaveExcel<T> SetCellStyle(String name, CellStyleInterface cellStyle); }