网页将数据导出到Excel【JavaWeb技术】

很多时候,我们需要让用户在网页填写信息,然后导出到Excel。

我们需要在项目中创建一个表单页面export.html。代码如下:

<meta charset="UTF-8"/>
<html>
<head>
    <title>导出页面</title>
</head>
<body>
<form action="/ExportServlet" method="post">
    <table>
        <tr>
            <td>用户名:</td><td><input type="text" name="username"/></td>
        </tr>
        <tr>
            <td>密码:</td><td><input type="password" name="password"/></td>
        </tr>
        <tr>
            <td><input type="submit" value="导出到Excel"/></td>
        </tr>
    </table>
</form>

还需要创建一个处理表单请求的servlet组件。ExportServlet.java。代码如下:

package com.yykj.servlet;

import org.apache.poi.hssf.usermodel.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.IOException;

public class ExportServlet extends HttpServlet {

    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        doPost(req, resp);
    }

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        req.setCharacterEncoding("UTF-8");
        resp.setContentType("application/vnd.ms-excel");
        resp.addHeader("Content-Disposition", "attachment; filename=logininfo.xls");
        String username = req.getParameter("username");
        String password = req.getParameter("password");
        ServletOutputStream out = resp.getOutputStream();
        HSSFWorkbook wb = new HSSFWorkbook();
        HSSFSheet sheet = wb.createSheet("用户注册信息");
        HSSFRow row = sheet.createRow(0);
        HSSFCell cell = row.createCell(0);
        cell.setCellValue(username);
        HSSFCell cell1 = row.createCell(1);
        cell1.setCellValue(password);
        wb.write(out);
        out.flush();
        out.close();
    }
}

注意:这里要导入poi组件的jar包,并且servlet要在web.xml注册过。

    原文作者:LiQiyaoo
    原文地址: https://blog.csdn.net/L_BestCoder/article/details/55047121
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞