java poi导出excel合并单元格 浏览器下载

该代码示例展示了如何使用Java的HSSFWorkbook库创建并导出Excel文件。它创建了一个包含表头和数据的简单表格,并演示了如何合并单元格。最后,这个Excel文件作为HTTP响应的一部分被发送给客户端。
摘要由CSDN通过智能技术生成
//工具类
public class ExcelUtils {
    
    public static void outExcelDemo(HttpServletResponse response )throws IOException {
        //创建HSSFWorkbook对象(excel的文档对象)
        HSSFWorkbook wb = new HSSFWorkbook();
        //创建sheet对象(excel的表单)
        HSSFSheet sheet=wb.createSheet("sheet1");
        //创建第一行,这里即是表头。行的最小值是0,代表每一行,上限没研究过,可参考官方的文档
        HSSFRow row1=sheet.createRow(0);
        //在这一行创建单元格,并且将这个单元格的内容设为“账号”,下面同理。
        //列的最小值标识也是0
        row1.createCell(0).setCellValue("账号");
        row1.createCell(1).setCellValue("用户名");
        row1.createCell(2).setCellValue("日期");
        row1.createCell(3).setCellValue("是否完成");

        //第二行
        HSSFRow row2=sheet.createRow(1);
        row2.createCell(0).setCellValue("123456");
        row2.createCell(1).setCellValue("张三");
        row2.createCell(2).setCellValue("2019-08-05");
        row2.createCell(3).setCellValue("是");

        //第三行
        HSSFRow row3=sheet.createRow(2);
        row3.createCell(0).setCellValue("123456");
        row3.createCell(1).setCellValue("张三");
        row3.createCell(2).setCellValue("2019-08-01");
        row3.createCell(3).setCellValue("否");

        //这个就是合并单元格
        //参数说明:1:开始行 2:结束行  3:开始列 4:结束列
        //比如我要合并 第二行到第四行的    第六列到第八列     sheet.addMergedRegion(new CellRangeAddress(1,3,5,7));
        sheet.addMergedRegion(new CellRangeAddress(1,2,0,0));

        //输出Excel文件
        OutputStream output=response.getOutputStream();
        response.reset();
        response
                .setHeader("Content-disposition", "attachment; filename=demo.xlsx");
        response.setContentType("application/x-xls");
        wb.write(output);
        output.close();
    }

}

//controller调用

@GetMapping("export")
public void export(HttpRequest request, HttpServletResponse response) throws IOException {
    ExcelUtils.outExcelDemo(response);
}

//导出结果

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值