Apache POI 之 导出 Excel(一)

398 阅读2分钟

一、简介

在开始之前先介绍一下Apache POI,是用Java编写的免费开源的跨平台的 Java API,Apache POI提供API给Java程式对Microsoft Office(Excel、WORD、PowerPoint、Visio等)格式档案读和写的功能。POI为“Poor Obfuscation Implementation”的首字母缩写,意为“可怜的模糊实现”。

通过Java代码导出Excel文件在现在系统来说是极为常用的功能,本文简单介绍使用Java导出Excel文件。 具体的详细信息童鞋们可以参考 Apache官网文档

搭建环境等步骤就不在此处过多赘述,直接开始。。。。

  1. 导出Excel文件第一步便是新建工作薄。在POI中工作薄的常用类型有HSSFWorkbookXSSFWorkbook
HSSFWorkbook workbook = new HSSFWorkbook(); 创建工作薄
  1. 根据文件对象创建表格对象(创建Excel中的sheet页)
// 创建工作表对象(sheet页)
HSSFSheet sheet = workbook.createSheet();
  1. 在创建完成sheet页后就相当于在 Excel中新建了一个sheet页,但是这个sheet页还是空白的,需要创建单元格,创建单元格分为两个步骤:创建行->创建单元格

// 创建表头(一般表头是第一行,索引是0)
Row rowHeader = sheet.createRow(行索引);
// 在已创建的行上面创建列(单元格),单元格的索引从0开始
Cell headerCell = rowHeader.createCell(单元格索引);
// 设置单元格的值
headerCell.setCellValue(值);
// 设置单元格的样式
headerCell.setCellStyle(Cellstyle);

  1. 保存文件

/**
 * 保存文件到服务器
 * FileUtil来自 huttool工具类
 * @param workbook 工作薄
 * @param fileName 文件名称
 */
public static void saveExcelToServer(HSSFWorkbook workbook, String basePath, String fileName) {
    // 将Excel写入文件
    try {
        // 创建文件输出流,输出创建成功的Excel
        String filePath = basePath + File.separator + fileName;
        if (!FileUtil.exist(basePath)) {
            FileUtil.mkdir(basePath);
        }
        workbook.write(new File(filePath));
    } catch (IOException e) {
       // 捕获异常
    } finally {
        try {
            workbook.close(); // 关闭工作薄,减少内存浪费
        } catch (IOException e) {
           // 捕获异常
        }
    }
}