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,
|
public static <T> void exportExcel(List<T> list, String sheetName, Class<T> clazz, boolean merge,
|
||||||
OutputStream os, List<DropDownOptions> options) {
|
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)
|
ExcelWriterSheetBuilder builder = EasyExcel.write(os, clazz)
|
||||||
.autoCloseStream(false)
|
.autoCloseStream(false)
|
||||||
// 自动适配
|
// 自动适配
|
||||||
@ -194,6 +211,9 @@ public class ExcelUtil {
|
|||||||
.registerConverter(new ExcelBigNumberConvert())
|
.registerConverter(new ExcelBigNumberConvert())
|
||||||
.registerWriteHandler(new DataWriteHandler(clazz))
|
.registerWriteHandler(new DataWriteHandler(clazz))
|
||||||
.sheet(sheetName);
|
.sheet(sheetName);
|
||||||
|
if (CollUtil.isNotEmpty(fieldNames)) {
|
||||||
|
builder.includeColumnFieldNames(fieldNames);
|
||||||
|
}
|
||||||
if (merge) {
|
if (merge) {
|
||||||
// 合并处理器
|
// 合并处理器
|
||||||
builder.registerWriteHandler(new CellMergeStrategy(list, true));
|
builder.registerWriteHandler(new CellMergeStrategy(list, true));
|
||||||
|
Loading…
x
Reference in New Issue
Block a user