js实现多级表头导出excel表格

图片描述

如图,导出普通的表格是可以的,但是怎么导出这种多级表头的表格,有没有大神做过,给点思路

//数据格式
data(){
    return {
        tableData:[
        {
            text:"日期",
            dataIndex:""
        },
        {
            tierData:{
                        titleName:"地址",
                        content:[
                                {
                                    text:"省份",
                                    dataIndex:""
                                },
                                {
                                    text:"市区",
                                    dataIndex:""
                                }
                            ]
                        }
        }
        ]
    }
}
阅读 10.8k
3 个回答

这个导出表头功能你前端做了哪些处理呢,这个表头后台应该有专门的类来做,我这边做导出一般是调后台生成好的表头

下面是一个思路:

  1. 将你的数据用最简单的 table 渲染出来,当然合并表头的逻辑可能要自己来一遍。ps: 建议不要用 UI 库的 table 组件,因为 UI 库的 table 组件为了实现其各种复杂的功能,往往会用多个 table 来做。
  2. 看一下 excellentexport 的文档,使用它导出你渲染的 table 就可以了。

其实应该没有什么类型的表格是不能导出的,无论普通的行列表格还是表头合并的表格,只要认识到用 JS 生成的数据符合你要的目标格式的规范,想导出啥都行。

新手上路,请多包涵

你好,我是用js拼接的html模板,最后通过base64的Mime-Type来生成excel文件提供下载,你说的表头情况,我也遇到类似的需求,横向合并是通过colspan,纵向合并是rowspan,你可以先在html文件里模拟一个和需求结果一样的table出来,然后处理到js里应该是没问题的
图片描述

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题