layui 学习笔记(四) 复杂表头前台Excel导出

摘要:
merges':mergeConf,'!cols':colConf,'!rows‘:rowConf}});}@

layui - excel 复杂表头导出- 第三方插件实现

参考:https://fly.layui.com/extend/excel/
演示:http://excel.wj2015.com/

   http://excel.wj2015.com/_book/docs/%E5%87%BD%E6%95%B0%E5%88%97%E8%A1%A8/%E5%AF%BC%E5%87%BA%E7%9B%B8%E5%85%B3%E5%87%BD%E6%95%B0.html
  

开始:

  码云地址下载插件:https://gitee.com/wangerzi/layui-excel
  并引入excel.js或excel.min.js 可以参考index.js里写的复杂表头

table.render({
        elem: '#demo',
        url: 接口url,//数据接口
        title: 'test',
        limit: 10,
        cols: [[
             {field: 'name', title:'姓名', rowspan: 2,100}
            ,{field: 'age', title: '年龄', rowspan: 2,100}
            ,{align: 'center',field: 'cs1',title: '测试合并1', colspan: 2} 
            ,{align: 'center',field: 'cs2',title: '测试合并2', colspan: 2}
        ],[
            {align: 'center', field: 'a1',title: '合并1'} 
            ,{align: 'center',field: 'a2', title: '合并2'}
            ,{align: 'center',field: 'a3', title: '合并3'}
            ,{align: 'center',field: 'a4', title: '合并4'}
        ]],
        done: function (res, curr, count) {
            var exportData = res.data;
            exportMe(exportData);
        }
 });
 
 
 function exportMe(data){
        // 把表头放到data里
        data.unshift({a1:'1',a2:'2',a3:'3',a4:'4'});
        data.unshift({name:'姓名',age:'年龄',a1:'测试合并1',a2:'',a3:'测试合并2',a4:''}); 
        // 配置合并单元格
        var mergeConf = LAY_EXCEL.makeMergeConfig([
            ['C1', 'D1'],
            ['E1', 'F1'],
            ['A1', 'A2'],
            ['B1', 'B2']
        ])
        // 2. 配置 列宽 C列宽 150,E列宽150,默认80
        var colConf = LAY_EXCEL.makeColConfig({
            'C': 150,
            'E': 150,
        }, 80)
        // 3. 第1行行高40,第二行行高30,默认20
        var rowConf = LAY_EXCEL.makeRowConfig({
            1: 40,
            3: 30
        }, 20)
        LAY_EXCEL.exportExcel({
            sheet1: data
        }, '测试导出复杂表头.xlsx', 'xlsx', {
            extend: {
                // extend 中可以指定某个 sheet 的属性,如果不指定 sheet 则所有 sheet 套用同一套属性
                sheet1: {
                    '!merges': mergeConf
                    , '!cols': colConf
                    , '!rows': rowConf
                }
            }
        });
    }

@

免责声明:文章转载自《layui 学习笔记(四) 复杂表头前台Excel导出》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇IOS崩溃日志解析(crash log)js 预览 excel,js-xlsx的使用下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

关于JAVASCRIPT中的DATASET

DataSet是ADO.NET的中心概念。可以把DataSet当成内存中的数据库,DataSet是不依赖于数据库的独立数据集合。所谓独立,就是说,即使断开数据链路,或者关闭数据库,DataSet依然是可用的,DataSet在内部是用XML来描述数据的,由于XML是一种与平台无关、与语言无关的数据描述语言,而且可以描述复杂关系的数据,比如父子关系的数据,所以...

分享12款 JavaScript 表格控件(DataGrid)

JavaScript 表格控件可以操作大数据集的 HTML 表格,提供各种功能,如分页、排序、过滤以及行编辑。在本文中,我们整理了13个最好的 JavaScript 表格插件分享给开发人员,开发者可以很容易地添加表格操作功能到 Web 应用程序中。 您可能感兴趣的相关文章 网站开发中很有用的 jQuery 效果【附源码】 分享35个让人惊讶的 CSS3...

用js生成PDF的方案

在java里,我们常用Itext来生成pdf,在pdf文件里组合图片,文字,画表格,画线等操作,还会遇到中文支持的问题。 那好,现在想直接在web前端就生成pdf怎么办,目前有以下几个解决方案 1:JSPDF.js 这个库支持不同类型的PDF文件格式,包括:文本,数字,图形,图片,同时你可以自由的编辑标题或者其它类型元素。 还支持互动的内容制作,例如,你可...

vue中promise的使用

vue中promise的使用 promise是处理异步的利器,在之前的文章《ES6之promise》中,我详细介绍了promise的使用, 在文章《js动画实现&&回调地狱&&promise》中也提到了promise的then的链式调用, 这篇文章主要是介绍在实际项目中关于异步我遇到的一些问题以及解决方法,由此来加深对pro...

vue图表组件使用,组件文档echarts

vue图表组件使用,组件文档echarts http://echarts.baidu.com/echarts2/doc/example.html vue组件手动封装barChart.vue <template> <div :class="className" :id="id" :style="{height:height,wi...

Python数据分析:pandas玩转Excel (二)

1 对Excel文件的操作 方法一: 使用xlrd库或者xlwt库进行对excel表格的操作读与写; 方法二: pandas库同样支持excel的读写操作;且更加简便。 2 pd.read_excel( )的参数 读Excel文件 df=pd.read_excel(io, sheet_name=0, # 工作表名称...