2017-05-03 103 views
0

右鍵單擊網格並選擇導出到Excel時,我想格式化某些單元格值。我假設我要使用processCellCallback函數,但是如何調用它或覆蓋它?導出到Excel時格式化單元格

我在這裏找到了導出函數this.gridOptions.api.exportDataAsExcel但我不確定如何連接這兩個,我在ag-grid documentation找不到任何好的示例。

這是我已經試過:

this.gridOptions = <GridOptions>{ 
    columnDefs: [{ 
     // Here are my column definitions 
    }], 
    processCellCallback: function (params) { 
     console.log(params) 
     if (params.column.getColId() === 'Created' && params.value) { 
      return this.toDateTime(params.value); 
     } else { 
      return params.value; 
     } 
    } 
} 

回答

1

processCellCallback和其他選項,你的聯繫,應該是被傳遞給exportDataAsExcel功能的params對象的一部分,在頁面上找到出口。您的設置應該看起來更像是這樣的:

function myExcelExport() { 
    function formattingFunction (params) { 
     console.log(params) 
     if (params.column.getColId() === 'Created' && params.value) { 
      return this.toDateTime(params.value); 
     } else { 
      return params.value; 
     } 
    } 
    excelParams = { 
     ... 
     processCellCallback: formattingFunction, 
     fileName: 'export.xls', 
     skipHeaders: true, 
     ... 
    } 
    this.gridOptions.api.exportDataAsExcel(excelParams) 
} 

此外,如果您使用的是企業的特點,有提供給你,讓你有更多專門支持dedicated members forum and other resources

+0

是的,我們有企業,所以我一定會在將來查看論壇。那麼,我什麼時候調用'myExcelExport'?我想將它附加到上下文菜單的「導出到Excel」按鈕。或者我必須創建我自己的上下文菜單導出按鈕,我不能使用默認的導出按鈕? – Niklas

+0

另外,最後一行是什麼?我認爲它現在拋出未定義。 – Niklas

+0

@Niklas我確實很快寫了這個答案,所以我的範圍可能會關閉......我只是在複製你的問題。關於導出按鈕,是的,你需要[配置你自己的上下文菜單](https://www.ag-grid.com/javascript-grid-context-menu/?framework=angular#gsc.tab=0) ,但它非常簡單,我可以將它添加到供您參考的答案中 –