导出excel---get方式

本文介绍如何使用Java实现一个Excel导出功能,通过ExcelRenderUtil类,快速创建包含数据、标题和自定义设置的Excel文件,适合初学者理解基本操作流程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.首先添加导出按钮

<a href="javascript:;"data-id="${result.id}" class="btn btn-primary radius excel_btn"> 导出</a>

把参数传到后台

 后台接收参数

 

 工具包--->

/**
 * Created by Administrator on 2017/10/30 0030.
 */
public class ExcelRenderUtil {

    private final static String CONTENT_TYPE = "application/msexcel;charset=utf-8";
    private List<?>[] data;
    private String[][] headers;
    private String[] sheetNames = new String[]{};
    private int cellWidth;
    private String[] columns = new String[]{};
    private String fileName = "file.xls";
    private int headerRow;
    private String version;
    protected String view;
    protected HttpServletRequest request;
    protected HttpServletResponse response;

    public ExcelRenderUtil(HttpServletRequest request, HttpServletResponse response, List<?>[] data) {
        this.request = request;
        this.response = response;
        this.data = data;
    }

    public static ExcelRenderUtil me(HttpServletRequest request, HttpServletResponse response, List<?>... data) {
        return new ExcelRenderUtil(request, response, data);
    }

    public void render() {
        response.reset();
        response.setHeader("Content-disposition", "attachment; " + FileRenderUtil.encodeFileName(this.request, fileName));
        response.setContentType(CONTENT_TYPE);
        response.addHeader("Access-Control-Allow-Origin", "*");
        response.addHeader("Access-Control-Allow-Methods", "GET, POST, PUT, DELETE, OPTIONS");
        response.addHeader("Access-Control-Allow-Headers", Constants.kAuth_xAccessToken);
        response.addHeader("Access-Control-Expose-Headers", "Content-Disposition");
        OutputStream os = null;
        try {
            os = response.getOutputStream();
            PoiExporter.data(data).version(version).sheetNames(sheetNames).headerRow(headerRow).headers(headers).columns(columns)
                    .cellWidth(cellWidth).export().write(os);
        } catch (Exception e) {
            throw new RenderException(e);
        } finally {
            try {
                if (os != null) {
                    os.flush();
                    os.close();
                }
            } catch (IOException e) {
                System.err.println(e.getMessage());
            }

        }
    }

    public ExcelRenderUtil headers(String[]... headers) {
        this.headers = headers;
        return this;
    }

    public ExcelRenderUtil headerRow(int headerRow) {
        this.headerRow = headerRow;
        return this;
    }

    public ExcelRenderUtil columns(String... columns) {
        this.columns = columns;
        return this;
    }

    public ExcelRenderUtil sheetName(String... sheetName) {
        this.sheetNames = sheetName;
        return this;
    }

    public ExcelRenderUtil cellWidth(int cellWidth) {
        this.cellWidth = cellWidth;
        return this;
    }

    public ExcelRenderUtil fileName(String fileName) {
        this.fileName = fileName;
        return this;
    }

    public ExcelRenderUtil version(String version) {
        this.version = version;
        return this;
    }

}

简单的导出单sheet的excel就完成了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值