Bootstrap

LayUI学习笔记(二)之获取table数据,导出Excel功能

Layui表格因为分页查询的原因,只能获取当前页的数据,不懂获取怎么获取全部数据。
因为项目需要我用了另外的方法实现了导出所有数据的功能。
获取当前页数据:用的是layui.table.cache.testReload,前端代码:定义导出按钮:<form action="/meiqia/doExport" id="download_form" method="post" class="layui-inline" style="display: inline;"> <input type="hidden" id="page_data" class="layui-inline" name="meiqiaList" /> <input type="hidden" id="header_data" class="layui-inline" name="header_data" /> <input type="button" class="layui-btn layui-btn-normal layui-inline" id="export_excel" value="导出数据" /> </form>
按钮点击事件://导出当前页表格数据到Excel $('#export_excel').on('click',function () { $('#page_data').val(JSON.stringify(layui.table.cache.testReload));//赋值当前页数据到导出表单 $('#header_data').val(headerArray);//赋值表头数据到导出表单 $("#download_form").submit(); });
后台代码:这里需要用到一个ExcelUtil,网上有好多。我下了一个并做了一个小修改。之前的导出数据有数字会报错。controller层代码:`@RequestMapping(value = “/meiqia/doExport”)
@ResponseBody
public void exportExcelData(HttpServletRequest request, HttpServletResponse response, @RequestParam String userList,
@RequestParam String[] header_data) {

	List<TbMeiqiaDuihua> mgUsers = JSONArray.parseArray(userList, TbMeiqiaDuihua.class);
	// ReturnResult returnResult = new ReturnResult();
	// 定义表的标题
	String title = "美洽对话表";
	// 定义表的列名
	String[] rowsName = header_data;
	// 定义表的内容
	ExcelUtil excelUtil = new ExcelUtil();

	List<Object[]> dataList = new ArrayList<Object[]>();

	for (int i = 0; i < mgUsers.size(); i++) {
		Object[] objects = new Object[rowsName.length];
		//填充行数据
		objects[1] = mgUsers.get(i).classType();
		objects[2] = mgUsers.get(i).getItem();
		objects[3] = mgUsers.get(i).getCard();
		
		dataList.add(objects);
	}

	try {
		String fileName = new String("美洽对话报表.xlsx".getBytes("UTF-8"), "iso-8859-1"); // 生成Excel文件的文件名
		excelUtil.exportExcel(title, rowsName, dataList, fileName, response);
		// returnInfo.setResult(true);

	} catch (Exception e) {
		e.printStackTrace();
	}

}`
package cn.e3mall.controller.utils;

import org.apache.poi.hssf.usermodel.*;
import org.apache.poi.hssf.util.HSSFColor;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.util.CellRangeAddress;

import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.OutputStream;
import java.util.List;

public class ExcelUtil {


    /**
     *

悦读

道可道,非常道;名可名,非常名。 无名,天地之始,有名,万物之母。 故常无欲,以观其妙,常有欲,以观其徼。 此两者,同出而异名,同谓之玄,玄之又玄,众妙之门。

;