【发布时间】:2021-08-11 03:18:44
【问题描述】:
我正在使用角度 ag-grid,并且我有一个列定义如下。
columnDefs=[
{field:'rate' , sortable:true, filter:true, headerName: " RATE", valueGetter: this.rateValueGetter }
rateValueGetter 函数如下。
rateValueGetter(params): String {
if(params.colDef.field=="rate"){
if(params.data.rate.includes('1')) return 'Y';
}
if(params.colDef.field=="rate"){
if(params.data.rate.includes('0')) return 'N';
}
}
上面的函数本质上是,如果数据库中的rate字段为1,则在前端渲染Y,否则为0,则渲染N。
当我尝试使用第三方库 exceljs 导出网格数据时出现问题,它不会导出渲染值(Y 或 N),而是导出原始数据(1 或 0)...如何我让它导出渲染值吗?据我了解,valuegetter 实际上并没有改变数据,它只是在屏幕上呈现值,所以当我试图导出数据时,它没有得到呈现的值。反正有没有获得渲染价值?谢谢。下面是我的导出函数。
btnExport(){
let filtereddata=[];
this.gridApi.forEachNodeAfterFilterAndSort(grd=> {
filtereddata.push(grd.data);
});
this.exportService.exportDataAsExcel(filtereddata, this.columnDefs, "filename");
}
【问题讨论】:
标签: angular typescript ag-grid ag-grid-angular exceljs