【SpringBoot整合 Apache POI 完成复杂表头数据的导出】

导读:本篇文章讲解 【SpringBoot整合 Apache POI 完成复杂表头数据的导出】,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

CSDN话题挑战赛第2期
参赛话题:Java技术分享

引言

SpringBoot整合 Apache POI 完成复杂表头数据的导出

为什么要使用这个技术?

1,先来说说根据自己个人实际应用介绍这项技术的优缺点

优点:

  1. 能在特定环境下根据实际业务需求定制化完成复杂表头数据的导出。
  2. 在则就是有个特别详细的官网,大部分的业务场景都可以在那官网上可以看到,有详细说明并且也有对应代码
  3. 该技术可以操作任何版本的Excel

缺点:

  1. 当然缺点也很突出,前面在优点中提到过的是根据业务定制化开发,所以代码的复用率不高,
  2. 当然除此之外就是对Spring Boot的版本有严格要求,否则很有可能出现版本的不兼容,本人遇到过,那是个残酷修复查找过程!这里就不说了,总之要留心这个问题

2,掌握该项技术,能快速完成任何场景下的复制表头的数据导出。
 

技术案例,实战分享

 //第一行
        int rowNum = 0;
        HSSFRow row1 = sheet.createRow(rowNum++);
        row1.setHeight((short) 800);
        HSSFCell cell = row1.createCell(0);
        cell.setCellValue("****公司" + date + "销售日报表");
        //合并单元格
        sheet.addMergedRegion(new CellRangeAddress(0, 0, 0, 9));
        cell.setCellStyle(style);

        //第二行
        HSSFRow row2 = sheet.createRow(rowNum++);
        HSSFCell cell2 = row2.createCell(0);
        cell2.setCellValue("制表单位:");
        sheet.addMergedRegion(new CellRangeAddress(1, 1, 0, 9));

        //第三行
        HSSFRow row3 = sheet.createRow(rowNum++);
        String[] cellFirst = {"矿别", "煤种", "最新价格(元/吨)", "数量(吨)", " ", "收入(元)", " ", "车数(车)", " ", "备注"};
        for (int i = 0; i < cellFirst.length; i++) {
            row3.setHeight((short) 450);
            HSSFCell cell3 = row3.createCell(i);
            cell3.setCellValue(cellFirst[i]);
            cell3.setCellStyle(style);
        }
        //矿别合并
        sheet.addMergedRegion(new CellRangeAddress(2, 3, 0, 0));
        //煤种合并
        sheet.addMergedRegion(new CellRangeAddress(2, 3, 1, 1));
        //最新价格(元/吨)合并
        sheet.addMergedRegion(new CellRangeAddress(2, 3, 2, 2));
        //数量(吨)合并
        sheet.addMergedRegion(new CellRangeAddress(2, 2, 3, 4));
        //收入(元)合并
        sheet.addMergedRegion(new CellRangeAddress(2, 2, 5, 6));
        //车数(车)合并
        sheet.addMergedRegion(new CellRangeAddress(2, 2, 7, 8));
        //备注合并
        sheet.addMergedRegion(new CellRangeAddress(2, 3, 9, 9));

        //第四行
        HSSFRow row4 = sheet.createRow(rowNum++);
        String[] cellFirst4 = {" ", " ", " ", "当日", "月累", "当日", "月累", "当日", "月累",};
        for (int i = 3; i < cellFirst4.length; i++) {
            row4.setHeight((short) 450);
            HSSFCell cell4 = row4.createCell(i);
            cell4.setCellValue(cellFirst4[i]);
            cell4.setCellStyle(style);
        }

【SpringBoot整合 Apache POI 完成复杂表头数据的导出】

难点分析

不同的业务需求难度各不相同,需要从不同的维度去统计数据,使用该技术将数据无错误的填入表格。

技术小结

学会这项技术,基本就没有难得复杂表格啦。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/105082.html

(0)
小半的头像小半

相关推荐

极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!