查询界面导出 Excel

使用说明

导出写在 [表Service.cs] 中;条件过滤等与 GetPageData 一致。

导出

/// <summary>
/// 导出
/// </summary>
/// <param name="pageData"></param>
/// <returns></returns>
public override WebResponseContent Export(PageDataOptions pageData)
{
    WebResponseContent webResponse = new WebResponseContent();
    //导出设置自定义条件过滤等与上面的getPageData方法里面的实现一致

    //设置最大导出的数量
    //Limit = 1000;
    //指定导出的字段
    ExportColumns = x => new { x.字段1, x.字段2};

    //自定义导出字段的标题名称:导出时给字段标题设置为其他名称
    ExcelHeaderMap = x => new Dictionary<object, string>() {
       { "表字段","显示的中文名称"},
       { "OrderNo","订单号123"},
    };

    //查询要导出的数据后,在生成excel文件前处理
    //list导出的实体,设置ignore过滤不导出的字段
    ExportOnExecuting = (List<当前表> list, List<string> ignore) =>
    {
        //设置忽略不导出的字段
        //ignore.Add("字段");
        return webResponse.OK();
    };
    return base.Export(pageData);
}

导出(异步 async)

异步启用说明

代码生成器勾选[异步接口]后此方法才会执行,默认执行的是上面同步方法

/// <summary>
/// 导出异步
/// </summary>
/// <param name="pageData"></param>
/// <returns></returns>
public override async Task<WebResponseContent> ExportAsync(PageDataOptions pageData)
{
    WebResponseContent webResponse = new WebResponseContent();
    //导出设置自定义条件过滤等与上面的getPageData方法里面的实现一致

    //设置最大导出的数量
    //Limit = 1000;
    //指定导出的字段
    ExportColumns = x => new { x.字段1, x.字段2};

    //自定义导出字段的标题名称:导出时给字段标题设置为其他名称
    ExcelHeaderMap = x => new Dictionary<object, string>() {
       { "表字段","显示的中文名称"},
       { "OrderNo","订单号123"},
    };

    //查询要导出的数据后,在生成excel文件前处理
    //list导出的实体,设置ignore过滤不导出的字段
    ExportOnExecuting = (List<当前表> list, List<string> ignore) =>
    {
        //设置忽略不导出的字段
        //ignore.Add("字段");
        return webResponse.OK();
    };
    //异步导出
    ExportOnExecutingAsync = async (List<当前表> list, List<string> ignore) =>
    {
        //设置忽略不导出的字段
        //ignore.Add("字段");

        //await xxx异步操作
        return webResponse.OK();
    };
    return await base.ExportAsync(pageData);
}
Last Updated 2026/5/12 17:18:25