Pre Merge pull request !625 from AprilWind/dev-excel
This commit is contained in:
commit
c08f18dfa5
@ -186,6 +186,23 @@ public class ExcelUtil {
|
||||
*/
|
||||
public static <T> void exportExcel(List<T> list, String sheetName, Class<T> clazz, boolean merge,
|
||||
OutputStream os, List<DropDownOptions> options) {
|
||||
exportExcel(list, sheetName, clazz, merge, os, options, null);
|
||||
}
|
||||
|
||||
/**
|
||||
* 导出Excel(支持自定义字段列选择)
|
||||
*
|
||||
* @param list 导出数据集合
|
||||
* @param sheetName 工作表的名称
|
||||
* @param clazz 实体类,用于定义Excel列的映射
|
||||
* @param merge 是否合并单元格
|
||||
* @param os 输出流,用于将生成的Excel写入指定位置
|
||||
* @param options 下拉框选项配置
|
||||
* @param fieldNames 自定义导出的字段名称集合,可控制导出的列范围
|
||||
* @param <T> 数据类型的泛型
|
||||
*/
|
||||
public static <T> void exportExcel(List<T> list, String sheetName, Class<T> clazz, boolean merge,
|
||||
OutputStream os, List<DropDownOptions> options, List<String> fieldNames) {
|
||||
ExcelWriterSheetBuilder builder = EasyExcel.write(os, clazz)
|
||||
.autoCloseStream(false)
|
||||
// 自动适配
|
||||
@ -194,6 +211,9 @@ public class ExcelUtil {
|
||||
.registerConverter(new ExcelBigNumberConvert())
|
||||
.registerWriteHandler(new DataWriteHandler(clazz))
|
||||
.sheet(sheetName);
|
||||
if (CollUtil.isNotEmpty(fieldNames)) {
|
||||
builder.includeColumnFieldNames(fieldNames);
|
||||
}
|
||||
if (merge) {
|
||||
// 合并处理器
|
||||
builder.registerWriteHandler(new CellMergeStrategy(list, true));
|
||||
|
Loading…
x
Reference in New Issue
Block a user