Java导出Excel模板

项目里尝试了利用Apache的POI工具生成Excel表格

然后发现操作起来还是很简单的

贴一下代码,里面都有注释

常用组件:

HSSFWorkbook     		excel的文档对象

HSSFSheet           	excel的表单

HSSFRow               excel的行

HSSFCell                excel的格子单元

HSSFFont               excel字体

样式:

HSSFCellStyle         cell样式

然后具体的方法需要使用的话可以自己查文档,上网搜索,很简单很方便的

  1. 第一步,导入依赖

    		<!-- poi,导出Excel -->
            <dependency>
                <groupId>org.apache.poi</groupId>
                <artifactId>poi</artifactId>
                <version>4.0.1</version>
            </dependency>
    
  2. 操作Excel代码

    /**
         * @function: 下载导出Excel
         * @param sheetName 表格Sheet名
         * @param titles 表格第一行(标题行)
         * @param datas 表格数据,String类型的二维数组
         */
        public static HSSFWorkbook downloadExcel(String sheetName, String[] titles, String[][] datas) {
            // 1. 创建一个Excel文件对象
            HSSFWorkbook workbook = new HSSFWorkbook();
    
            // 2. 创建样式,设置样式居中
            HSSFCellStyle style = workbook.createCellStyle();
            style.setAlignment(HorizontalAlignment.CENTER);
    
            // 3. 在workbook中添加一个sheet,对应Excel文件中的sheet
            HSSFSheet sheet = workbook.createSheet(sheetName);
    
            // 4. 在sheet中添加表头第0行,就是标题行
            HSSFRow row = sheet.createRow(0);
    
            // 5. 声明列对象,并创建标题
            HSSFCell cell = null;
    
            for (int i = 0, length = titles.length; i < length; i++) {
                cell = row.createCell(i);
                cell.setCellValue(titles[i]);
                //设置样式
                cell.setCellStyle(style);
            }
    
            // 6.  创建内容
            for (int i = 0, size = datas.length; i < size; i++) {
                row = sheet.createRow(i + 1);
                for (int j = 0, length = datas[i].length; j < length; j++) {
                    //将内容按顺序赋给对应的列对象
                    cell=row.createCell(j);
                    cell.setCellValue(datas[i][j]);
                    //居中显示
                    cell.setCellStyle(style);
                }
            }
    
            return workbook;
        }
    
  3. Controller接受前端请求,返回下载文档

    @GetMapping("/download")
        public void download(HttpServletResponse response) {
            //查询所有员工
            BasePage basePage = new BasePage();
            basePage.setPageNum(1);
            basePage.setPageSize(10);
            PageInfo<CustomerModel> allCustomer = customerServices.getAllCustomer(basePage);
            List<CustomerModel> list = allCustomer.getList();
    
            //表格标题,就是模型的属性名
            String[] titles = {"顾客ID", "顾客姓名", "顾客职业", "顾客电话", "顾客邮箱"};
    
            //将list集合数据变成String类型二维的数组,行数+列数
            String[][] datas = new String[list.size()][titles.length];
            for (int i = 0, size = list.size(); i < size; i++) {
                //赋值
                datas[i][0] = String.valueOf(list.get(i).getCustId());
                datas[i][1] = list.get(i).getCustName();
                datas[i][2] = list.get(i).getCustProfession();
                datas[i][3] = list.get(i).getCustPhone();
                datas[i][4] = list.get(i).getCustEmail();
            }
    
            //表格sheet名
            String sheetName = "员工信息表";
    
            //调用common下的Excel导出方法,导出Excel
            HSSFWorkbook workbook = DownloadExcel.downloadExcel(sheetName, titles, datas);
    
            try {
                //文件名,需要编码成ISO8859-1
                String fileName = new String("员工信息表.xls".getBytes("UTF-8"), "ISO8859-1");
                //设置响应头,返回前端下载文件
                response.setHeader("content-Disposition", "attachment;filename=" + fileName);
                workbook.write(response.getOutputStream());
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    
  4. 最后前端请求,成功

  • 0
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java导出Excel模板可以使用POI(Apache的开源项目)来实现。POI提供了一套Java API,用于操作Excel文件。 首先,我们需要在项目中引入POI的依赖。可以使用Maven或Gradle来管理依赖,具体请参考POI的官方文档。 接下来,我们可以创建一个自定义的Excel模板,包含需要导出的数据列和样式。可以使用Excel软件(如Microsoft Excel)来创建模板文件,并定义每列的标题、样式等。 在Java代码中,我们可以通过POI提供的API来读取模板文件,并将数据填充到合适的位置。具体步骤如下: 1. 创建一个Workbook对象,用于表示Excel文件。可以选择使用HSSFWorkbook(针对旧版本的Excel文件)或XSSFWorkbook(针对新版本的Excel文件)。 2. 使用Workbook对象创建Sheet对象,用于表示工作表。 3. 创建Row对象,用于表示Excel中的一行数据。 4. 创建Cell对象,用于表示每个单元格。 5. 设置单元格的值和样式。可以使用setCellValue方法设置值,并使用CellStyle类来设置样式,如字体、颜色、边框等。 6. 重复步骤4和5,直到所有数据都被写入到Excel文件中。 7. 使用FileOutputStream或其他输出流将Workbook对象写入到磁盘中,即导出Excel文件。 需要注意的是,POI提供了丰富的API用于操作Excel文件,可以根据具体需求进行调整和优化。同时,还可以通过POI的API来处理更多的Excel操作,如合并单元格、设置公式、设置条件格式等。 总之,使用Java导出Excel模板可以通过POI来实现,按照一定的步骤从模板中读取数据并填充到Excel文件中。这样可以方便地生成包含特定数据和样式的Excel文件,满足不同的导出需求。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值