在Java中操作Excel文件是一项非常常见的需求,尤其是在数据处理和报告生成的场景中。Java提供了多个库来实现Excel的读写功能,最常用的库是Apache POI。本文将详细介绍如何使用Apache POI库来操作Excel,包括基本的读写操作以及一些进阶技巧。

一、Apache POI简介

Apache POI是一个强大的Java库,它能够读写Microsoft Office格式的文件,包括Excel、Word和PowerPoint等。POI提供了对Excel的高级API,支持.xlsx(Excel 2007及以后的版本)和.xls(Excel 97-2003版本)格式。

二、添加Apache POI依赖

如果你使用Maven构建项目,可以通过在pom.xml中添加以下依赖来引入Apache POI:

<dependency>
    <groupId>org.apache.poi</groupId>
    <artifactId>poi-ooxml</artifactId>
    <version>5.2.3</version>  <!-- 请根据最新版本进行更新 -->
</dependency>
<dependency>
    <groupId>org.apache.poi</groupId>
    <artifactId>poi</artifactId>
    <version>5.2.3</version>
</dependency>

三、创建Excel文件

下面的代码示例展示了如何创建一个新的Excel文件,并在其中写入一些数据:

import org.apache.poi.ss.usermodel.*;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;

import java.io.FileOutputStream;
import java.io.IOException;

public class CreateExcel {
    public static void main(String[] args) {
        // 创建工作簿
        Workbook workbook = new XSSFWorkbook();

        // 创建工作表
        Sheet sheet = workbook.createSheet("示例表");

        // 创建行和单元格并写入数据
        Row row = sheet.createRow(0);
        Cell cell1 = row.createCell(0);
        cell1.setCellValue("姓名");
        Cell cell2 = row.createCell(1);
        cell2.setCellValue("年龄");

        // 填充数据
        Row dataRow = sheet.createRow(1);
        dataRow.createCell(0).setCellValue("张三");
        dataRow.createCell(1).setCellValue(25);

        dataRow = sheet.createRow(2);
        dataRow.createCell(0).setCellValue("李四");
        dataRow.createCell(1).setCellValue(30);

        // 写入文件
        try (FileOutputStream fileOut = new FileOutputStream("示例.xlsx")) {
            workbook.write(fileOut);
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            try {
                workbook.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
        System.out.println("Excel文件创建成功!");
    }
}

四、读取Excel文件

除了创建Excel文件,Apache POI同样可以用来读取现有的Excel文件。下面的示例演示了如何读取之前创建的Excel文件:

import org.apache.poi.ss.usermodel.*;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;

import java.io.FileInputStream;
import java.io.IOException;

public class ReadExcel {
    public static void main(String[] args) {
        try (FileInputStream file = new FileInputStream("示例.xlsx");
             Workbook workbook = new XSSFWorkbook(file)) {

            // 获取工作表
            Sheet sheet = workbook.getSheetAt(0);

            // 遍历行和单元格
            for (Row row : sheet) {
                for (Cell cell : row) {
                    switch (cell.getCellType()) {
                        case STRING:
                            System.out.print(cell.getStringCellValue() + "\t");
                            break;
                        case NUMERIC:
                            System.out.print(cell.getNumericCellValue() + "\t");
                            break;
                    }
                }
                System.out.println();
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

五、总结

使用Apache POI库,可以轻松地在Java中创建和读取Excel文件。通过简单的API调用,我们可以处理各种数据,生成报表或实现数据的导入导出功能。虽然以上示例是基础的操作,但使用POI库可以实现更多复杂的需求,如样式设置、图表生成、数据验证等。希望本文对你使用Java操作Excel有一定的帮助。

点赞(0) 打赏

微信小程序

微信扫一扫体验

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部