使用POI导出excel教程精简

第一步,导入依赖

		<!-- poi -->
        <dependency>
            <groupId>org.apache.poi</groupId>
            <artifactId>poi-ooxml</artifactId>
            <version>4.0.1</version>
        </dependency>

第二步,使用

注意controller层要获取 HttpServletRequest request, HttpServletResponse response

		// .....这里是获取list的业务逻辑,就不展示了
		
		HSSFWorkbook wb = new HSSFWorkbook();

        HSSFSheet sheet = wb.createSheet("加工错误表");

        HSSFRow row = null;

        int columnIndex = 0;

        row = sheet.createRow(0);
        row.setHeight((short) (22.50 * 20));//设置行高
        row.createCell(columnIndex).setCellValue("序号");
        row.createCell(++columnIndex).setCellValue("业务编号");
        row.createCell(++columnIndex).setCellValue("企业名称");
        row.createCell(++columnIndex).setCellValue("统一社会信用代码");
        row.createCell(++columnIndex).setCellValue("材料名称");
        row.createCell(++columnIndex).setCellValue("错误类型");
        row.createCell(++columnIndex).setCellValue("错误描述");
        row.createCell(++columnIndex).setCellValue("添加日期");
        row.createCell(++columnIndex).setCellValue("是否处理");
        row.createCell(++columnIndex).setCellValue("处理时间");
        row.createCell(++columnIndex).setCellValue("是否加工过");

        for (int i = 0; i < list.size(); i++) {
            row = sheet.createRow(i + 1);
            BusinessWorkingErrDTO businessWorkingErrDTO = list.get(i);

            columnIndex = 0;

            row.createCell(columnIndex).setCellValue(i + 1);
            row.createCell(++columnIndex).setCellValue(businessWorkingErrDTO.getBussinessid());
            row.createCell(++columnIndex).setCellValue(businessWorkingErrDTO.getCompanyname());
            row.createCell(++columnIndex).setCellValue(businessWorkingErrDTO.getRegistid());
            row.createCell(++columnIndex).setCellValue(businessWorkingErrDTO.getArchlistname());
            row.createCell(++columnIndex).setCellValue(businessWorkingErrDTO.getErrortype());
            row.createCell(++columnIndex).setCellValue(businessWorkingErrDTO.getErrorremark());
            row.createCell(++columnIndex).setCellValue(businessWorkingErrDTO.getAddtime());
            row.createCell(++columnIndex).setCellValue(businessWorkingErrDTO.getDealsign() == 0 ? "否" : "是");
            row.createCell(++columnIndex).setCellValue(businessWorkingErrDTO.getFinishtime());
            row.createCell(++columnIndex).setCellValue(businessWorkingErrDTO.getWorkingfirststate() == 0 ? "否" : "是");
        }

        sheet.setDefaultRowHeight((short) (16.5 * 20));

        //列宽自适应
        for (int i = 0; i <= 11; i++) {
            sheet.autoSizeColumn(i);
        }

        String title = "清单";

        try {
            response.setHeader("Content-disposition", "attachment;fileName=" + URLEncoder.encode(title + ".xls", "UTF-8"));
        } catch (UnsupportedEncodingException e) {
            e.printStackTrace();
        }
        response.setContentType("application/octet-stream;charset=utf-8");
        OutputStream ouputStream = null;
        try {
            ouputStream = response.getOutputStream();
            wb.write(ouputStream);
            ouputStream.flush();
            ouputStream.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值