列表导出Excel表格——简单实现

本文介绍了一种简单的方法,使用Java将列表数据导出为Excel表格。根据返回的数据,可以灵活调整导出的格式。

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

列表导出方法简单实现,导出格式可以根据返回数据具体更改


public ResultData exportUserList(UserSearchRequest userSearchRequest, HttpServletResponse response) {
        ResultData resultData = new ResultData();

		// 用户数据
        List<UserSearchVo> userSearchVos = userDao.userList(userSearchRequest);
        PageInfo<UserSearchVo> list = new PageInfo<>(userSearchVos);
        if (list.getTotal() > 0) {
  
            SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

            // excel标题
            String[] title = {"ID", "头像", "姓名", "性别", "手机号", "用户类型", "用户等级", "余额", "佣金余额", "注册时间"};
            // excel文件名
            String fileName = "User" + System.currentTimeMillis() + ".xls";
            // sheet名
            String sheetName = "User";
            // 将数据转换成String [][] 二维数组(具体情况根据自身需求定)
            String[][] content = new String[userSearchVos.size()][title.length];
            int i = 0;
            for (UserSearchVo vo : userSearchVos) {
                content[i][0] = String.valueOf(vo.getUid());
                content[i][1] = String.valueOf(vo.getAvatar());
                content[i][2] = String.valueOf(vo.getNickname());
                content[i][3] = String.valueOf(vo.getSex() == 1 ? "男" : "女");
                content[i][4] = String.valueOf(vo.getPhone());
                content[i][5] = String.valueOf(vo.getUserType() == 1 ? "用户" : "商户");
                content[i][6] = String.valueOf(vo.getStatus() == 1 ? "普通用户" : vo.getUserLevel().getLevel());
                content[i][7] = String.valueOf(vo.getNowMoney());
                content[i][8] = String.valueOf(vo.getCommission());
                content[i][9] = String.valueOf(simpleDateFormat.format(vo.getRegisterDate()));
                i++;
            }
            //创建HSSFWorkbook
            HSSFWorkbook workbook = ExcelUtil.getHSSFWorkbook(sheetName, title, content, null);

            try {
                //输出Excel文件
                OutputStream output = response.getOutputStream();
                response.reset();
                //中文名称要进行编码处理
                response
                        .setHeader("Content-disposition", "attachment; filename=" + new String(fileName.getBytes("GB2312"), "ISO8859-1"));
                response.setContentType("application/x-xls");

                workbook.write(output);
                output.close();
            } catch (IOException e) {
                e.printStackTrace();
            }

            resultData.setMark("0");
            resultData.setTip("导出成功");
        } else {
            resultData.setMark("1");
            resultData.setTip("无数据");
        }
        return resultData;
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值