GridManager 导出

作者: 前端沐先生 | 来源:发表于2019-03-30 19:26 被阅读0次

    GridManager 具有表格数据导出功能,该功能为纯前端实现,对后端无依赖。

    1.初始化时指定启用导出功能。方式如下:

    `<``table``></``table``>`
    
    `var` `table = document.querySelector(``'table'``)`
    
    `table.GM({`
    
    `gridManagerName: ``'demo-export'``,`
    
    `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>'``;`
    
    `}`
    
    `}]`
    
    `});`
    
     |
    
    [在线执行](http://runjs.cn/code/iqixtlhw)
    

    2.渲染完成后,通过 exportGridToXls 方法进行调用

    `GridManager.exportGridToXls(``'demo-export'``, fileName, onlyChecked)`
    

    在线执行

    exportGridToXls方法,参数说明:

    table: 需要操作的table 或 table的gridManagerName值

    fileName: 导出后使用的文件名,如果不设置将使用插件配置项gridManagerName。

    onlyChecked:是否仅导出选中的项, 默认为false

    注意事项

    1. 无法导出所有数据,仅可对当前显示的数据进行导出。如果存在导出全部的功能,需要自行实现。

    2. 导出功能的操作界面为右键菜单,如果在初始化时配置 supportMenu=false, 那么导出即使生效也无法通过界面操作。

    相关文章

      网友评论

        本文标题:GridManager 导出

        本文链接:https://www.haomeiwen.com/subject/jqbsbqtx.html