导出功能现在分为两种模式: 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, 那么导出即使生效也无法通过界面操作。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。