查询界面导出 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);
}
