layui页面导出Excel文件

16 篇文章 0 订阅
9 篇文章 0 订阅

单元格样式

设置单元格的样式,就是设置工作表对象中的单元格对象的 s 属性。这个属性的值也是一个对象,它有五个属性:fillfontnumFmtalignmentborder

 

   layui.config({
        base: 'assets/layuiadmin/' //静态资源所在路径
    }).extend({
        index: 'lib/index', //主入口模块
        excel: 'layui_exts/excel'
    }).use(['index', 'form', 'excel'], function(){
        var $ = layui.$;
        var form = layui.form;
        var excel = layui.excel;


         /**
         * 封装导出的格式
         * */
        function getExcelFormat(content, bgColor, bold, color) {
            return {
                v: content,// 内容
                t:"s", // 单元格的类型 'b'布尔值、'n'数字、'e'错误、's'字符串、'd'日期
                s:{
                    alignment: {
                        horizontal: 'center',// "left"、"center" 或 "right"	水平对齐
                        vertical: 'center',// "bottom"、"center" 或 "top"	垂直对齐
                    },
                    fill: {
                        bgColor: bgColor // 背景颜色
                    },
                    font: {
                        bold: bold, // 是否加粗
                        // sz: 12 字号
                        color: {
                            rgb: color // 文字颜色
                        }
                    }
                }
            };
        }

        /**
         * 将传入的数据导出
         */
        function exportApiDemo(list) {
            var timestart = Date.now();
            var loadLayerIndex = top.dialog.msg("正在导出Excel数据中...", {icon: 16, time: 0, shade: 0.3});
            /**
             * v:单元格的值
             * t:单元格的类型 'b'布尔值、'n'数字、'e'错误、's'字符串、'd'日期
             * s:单元格的样式
             */
            var data = [
                {
                    number: getExcelFormat("行号", true , '000000'),
                    result: getExcelFormat("结果", true , '000000'),
                }
            ];
            for(var i = 0 ; i < list.length; i++) {
                data.push({
                    number:getExcelFormat(list[i].number, false , '000000'),
                    result:getExcelFormat(list[i].result, list[i].result == '数据新增成功' ? false : list[i].result == '数据修改成功【此条数据已存在】' ? false : true , list[i].result == '数据新增成功' ? '00CC00' : list[i].result == '数据修改成功【此条数据已存在】' ? 'FF9900' : 'FF0000')
                });
            }
            // A列宽 200, 默认给80
            var colConf = excel.makeColConfig({
                'A': 150,
                'B': 450,
            }, 140);
            // 每一行的行高, 默认给20
            var rowConf = excel.makeRowConfig({
                1: 30,
            }, 20)
            excel.exportExcel({
                sheet1: data
            }, "数据导入结果"  + '.xlsx', 'xlsx', {
                extend: {
                    sheet1: {
                        '!cols': colConf
                        , '!rows': rowConf
                    }
                }
            })
            var timeend = Date.now()
            var spent = (timeend - timestart) / 1000
            top.dialog.close(loadLayerIndex);
            layer.msg('结果导出耗时 :' + spent + ' s');
        }
    });

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值