Как скрыть столбец в экспорте

Как скрыть столбец выбора всех (флажок) в экспорте Excel или CSV.

{
    checkboxSelection: true,
    suppressMenu: true,
    suppressSorting: true,
    suppressFilter: true,
    width: 30,
    pinned: true,
    suppressExcelExport :true,
    headerCellRenderer: this.selectAllRenderer
},

2 ответа

Код ниже решит вашу проблему

var columnsForExport=[];
var allColumns=gridOption.columnApi.getAllColumns();

allColumns.forEach((element:any) => {
    if(element.colId!="#"){
        columnsForExport.push(element.colId)
    }
});

На данный момент suppressExcelExport: true свойство работает только для всей сетки, а не для столбцов!

Однако есть хороший обходной путь, который позволит любому настраиваемому свойству столбца (например) действовать как реальное рабочее свойство, как вы просили.

Все, что вам нужно, это вызвать эту функцию нажатием кнопки или добавить пункт контекстного меню :

      function exportActiveColumns() {
    let allColumns = gridOptions.columnApi.getAllColumns();
    let exportColumns = allColumns .filter(col => !col.userProvidedColDef.suppressExcelExport);
    gridOptions.api.exportDataAsExcel({
        columnKeys: exportColumns,
    });
}

Убеждаться suppressExcelExport является false для сетки, иначе после вызова результата не будет exportDataAsExcel api.

То же самое работает и с CSV.

Другие вопросы по тегам