博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
GridManager 导出
阅读量:6711 次
发布时间:2019-06-25

本文共 1763 字,大约阅读时间需要 5 分钟。

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

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

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 '点击跳转';            }        },{            key: 'action',            remind: 'the action',            width: '100px',            text: '操作',            template: function(action, rowObject){                return '编辑';            }        }    ]});

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

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

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

fileName: 导出后使用的文件名,如果不设置将使用插件配置项gridManagerName。
onlyChecked:是否仅导出选中的项, 默认为false

注意事项

  • 无法导出所有数据,仅可对当前显示的数据进行导出。如果存在导出全部的功能,需要自行实现。
  • 导出功能的操作界面为右键菜单,如果在初始化时配置 supportMenu=false, 那么导出即使生效也无法通过界面操作。

转载地址:http://bcblo.baihongyu.com/

你可能感兴趣的文章