生成Excel文件

Posted 程序波

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了生成Excel文件相关的知识,希望对你有一定的参考价值。

@Autowired
    private WayBillService wayBillService;
    @Action("report_exportXls")
    public String exportXsl() throws Exception{
        //
        List<WayBill> wayBills = wayBillService.findWayBills(model);
        //生成Excel文件
        HSSFWorkbook hssfWorkbook = new HSSFWorkbook();
        HSSFSheet sheet = hssfWorkbook.createSheet("运单数据");
        //表头
        HSSFRow headRow = sheet.createRow(0);
        headRow.createCell(0).setCellValue("运单号");
        headRow.createCell(1).setCellValue("寄件人");
        headRow.createCell(2).setCellValue("寄件人电话");
        headRow.createCell(3).setCellValue("寄件人地址");
        headRow.createCell(4).setCellValue("收件人");
        headRow.createCell(5).setCellValue("收件人电话");
        headRow.createCell(6).setCellValue("收件人地址");
        //表格数据
        for (WayBill wayBill : wayBills) {
            HSSFRow dataRow = sheet.createRow(sheet.getLastRowNum()+1);
            dataRow.createCell(0).setCellValue(wayBill.getWayBillNum());
            dataRow.createCell(1).setCellValue(wayBill.getSendName());
            dataRow.createCell(2).setCellValue(wayBill.getSendMobile());
            dataRow.createCell(3).setCellValue(wayBill.getSendAddress());
            dataRow.createCell(4).setCellValue(wayBill.getRecName());
            dataRow.createCell(5).setCellValue(wayBill.getRecMobile());
            dataRow.createCell(6).setCellValue(wayBill.getRecAddress());
        }
        //下载导出
        //设置头信息
        ServletActionContext.getResponse().setContentType("application/vnd.ms-excel");
        String filename = "运单数据.xls";
        
        String agent = ServletActionContext.getRequest().getHeader("user-agent");
        filename = FileUtils.encodeDownloadFilename(filename, agent);
        ServletActionContext.getResponse().setHeader("Content-Disposition",
                "attachment;filename="+filename);
        ServletOutputStream outputStream = ServletActionContext.getResponse().getOutputStream();
        hssfWorkbook.write(outputStream);
        //关闭
        hssfWorkbook.close();
        return NONE;
    }

以上是关于生成Excel文件的主要内容,如果未能解决你的问题,请参考以下文章

java批量数据导出多个excel,为啥老是只生成一个excel文件

如何导出生成excel文件 java

.net 后台生成Excel文件

请问下,我想用java实现下载excel表格,思路是先在临时文件里生成临时excel文件,但是不知

java poi操作Excel文件 生成的Excel文件为里面的内容为只读,不可以修改其内容。求解答。

DELPHI 导出到excel的问题,从数据库抓取数据并导出,按编号生成一个个独立的EXCEL文件