導出功用如今分為兩種形式: static, blob
初始化時指定啟用導出功用, 體式格局以下:
<table grid-manager="demo-export"></table>
var table = document.querySelector('table[grid-manager="demo-export"]')
table.GM({
ajax_url: 'http://www.lovejavascript.com/learnLinkManager/getLearnLinkList'
,ajax_type: 'POST'
,supportAjaxPage: true
,supportExport:true // 設置啟用導出功用, 默許即為true
,exportConfig: {
// 導出的體式格局: 默許為static
// 1.static: 前端靜態導出, 無需後端供應接口,該體式格局導出的文件並不圓滿。
// 2.blob: 經由過程後端接口返回二進制流。`nodejs`可運用`js-xlsx`, `java`可運用 `org.apache.poi`天生二進制流。
mode: 'static',
// 導出的後綴名 , 默許為`xls`
suffix: 'xls',
// 導出處理器函數,該函數須要返回一個promise。當`exportType`為`static`時,該參數不見效。
handler: (fileName, query, pageData, sortData, selectedList) => {
// 須要經由過程promise中的resolve()返回二進制流(blob),有兩種返回花樣:
// 1.resolve(blob), 2.resolve({data: blob})
return new Promise();
}
}
,query: {pluginId: 1}
,i18n: 'en-us'
,columnData: [
{
key: 'name',
text: 'name'
},{
key: 'info',
text: 'info'
},{
key: 'url',
text: 'url',
template: function(url, rowObject){
return '<a style="color:#337ab7;" href="'+url+'" target="_blank">點擊跳轉</a>';
}
},{
key: 'action',
remind: 'the action',
width: '100px',
text: '操縱',
template: function(action, rowObject){
return '<a style="color:#337ab7;" href="javascript:;" onclick="testEditFN()" learnLink-name="'+rowObject.name+'">編輯</a>';
}
}
]
});
襯着完成后,經由過程 exportGridToXls 要領舉行挪用
GridManager.exportGridToXls('demo-export', fileName, onlyChecked)
table: 須要操縱的table 或 table的gridManagerName值
fileName: 導出后運用的文件名,假如不設置將運用插件設置項gridManagerName。
onlyChecked:是不是僅導出選中的項, 默許為false
注意事項
- 沒法導出一切數據,僅可對當前顯現的數據舉行導出。假如存在導出悉數的功用,須要自行完成。
- 導出功用的操縱界面為右鍵菜單,假如在初始化時設置 supportMenu=false, 那末導出縱然見效也沒法經由過程界面操縱。