Java-Layui导出

本文介绍了如何在Java项目中利用Layui框架结合excel.js库实现数据的导出功能,包括获取用户输入的时间范围和数据类型,以及处理后端返回的数据并生成Excel文件的过程。
摘要由CSDN通过智能技术生成

Java-Layui导出

引入excel.js

<script src="../../static/js/excel.js"></script>

script

layui.use(['table', 'form', 'laydate','excel'], function () {......

	var loading = layer.load(1, {
	    content: '数据加载中...', shade: [0.8, '#393D49'], success: function (layero) {
	        layero.css('padding-left', '30px');
	        layero.find('.layui-layer-content').css({
	            'padding-top': '40px',
	            'width': '90px',
	            'color': 'white',
	            'background-position-x': '16px'
	        });
	    }
	});
	var reqData = {};
	var starttime = $('#starttime').val();
	if(starttime == undefined || starttime.toString().trim().length == 0){
	    layer.close(loading);
	    layer.alert("请输入开始时间", {icon: 16, time: 0});
	    return false;
	}
	reqData.starttime = starttime;
	var endtime = $('#endtime').val();
	if(endtime == undefined || endtime.toString().trim().length == 0){
	    layer.close(loading);
	    layer.alert("请输入结束时间", {icon: 16, time: 0});
	    return false;
	}
	reqData.endtime = endtime;
	var typeStr = $('#typeStr').val();
	
	if(typeStr == undefined || typeStr.toString().trim().length == 0){
	    layer.close(loading);
	    layer.alert("请选择导出数据类型时间", {icon: 16, time: 0});
	    return false;
	}
	reqData.typeStr = typeStr;
	reqData.page = 1;
	reqData.rows = 999999;
	$.ajax({
	    method: "POST",
	    url: url + "/services/inner/basic/dataStatistics/exportFile",
	    contentType: 'application/json',
	    data: JSON.stringify(reqData),
	    success: function (res) {
	        layer.close(loading);
	        if (res.code == 0) {
	            var fieldArr = [];
	            var fieldArrStr = {};
	            $.each(res.fieldVoList, function (index,item) {
	                fieldArr.push(item.fieldStr);
	                var aa = item.fieldStr;
	                fieldArrStr[item.fieldStr] = item.fieldStr;//重中之重
	            });
	            var data = res.list;
	            // 重点!!!如果后端给的数据顺序和映射关系不对,请执行梳理函数后导出,定义列
	            data = excel.filterExportData(data, fieldArr);
	            // 重点2!!!一般都需要加一个表头,表头的键名顺序需要与最终导出的数据一致
	            data.unshift(fieldArrStr);
	            var dateStr = layui.util.toDateString(new Date(), "yyyyMMddHHmmss");
	            if(typeStr == 1){
	                excel.exportExcel(data, "出口类型明细综合查询" + dateStr + '.xlsx', 'xlsx');
	            }else if (typeStr == 2){
	                excel.exportExcel(data, "出口类型合计查询" + dateStr + '.xlsx', 'xlsx');
	            }else if (typeStr == 3){
	                excel.exportExcel(data, "进口类型明细查询" + dateStr + '.xlsx', 'xlsx');
	            }else if (typeStr == 4){
	                excel.exportExcel(data, "进口类型合计查询" + dateStr + '.xlsx', 'xlsx');
	            }
	            layer.msg('导出成功!')
	        } else {
	            layer.msg('没有导出数据')
	        }
	    },
	    error: function () {
	        layer.close(loading);
	        layer.msg('操作失败');
	    }
	});
});
  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
layui是一款基于jQuery的前端UI框架,它提供了丰富的组件和功能,包括导出Excel功能。在layui中,可以使用table.exportFile()方法来实现导出Excel的功能。 具体步骤如下: 1. 引入layui框架和相关样式文件。 2. 创建一个表格,并使用layui的table组件进行渲染。 3. 在需要导出Excel的按钮点击事件中,调用table.exportFile()方法来导出Excel文件。 下面是一个示例代码: ```html <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>layui导出Excel示例</title> <link rel="stylesheet" href="https://cdn.staticfile.org/layui/2.5.6/css/layui.css"> </head> <body> <table id="demo" lay-filter="test"></table> <script src="https://cdn.staticfile.org/jquery/3.4.1/jquery.min.js"></script> <script src="https://cdn.staticfile.org/layui/2.5.6/layui.js"></script> <script> layui.use(['table', 'excel'], function(){ var table = layui.table; var excel = layui.excel; // 渲染表格 table.render({ elem: '#demo', url: '/api/getData', // 数据接口 cols: [[ {field: 'id', title: 'ID'}, {field: 'name', title: '姓名'}, {field: 'age', title: '年龄'} ]] }); // 导出Excel按钮点击事件 $('#exportBtn').on('click', function(){ var data = table.cache['test']; // 获取表格数据 excel.exportExcel({ sheet1: data }, '导出数据.xlsx', 'xlsx'); }); }); </script> </body> </html> ``` 在上述示例代码中,我们使用了layui的table组件来渲染表格,并通过url参数指定了数据接口。在导出Excel按钮的点击事件中,我们调用了excel.exportExcel()方法来导出Excel文件,其中的sheet1参数是要导出的数据,'导出数据.xlsx'是导出的文件名,'xlsx'是文件格式。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值