Java中读写Excel文件

在Java编程中,我们经常需要处理Excel文件。Excel文件是一种广泛使用的电子表格文件格式,它可以存储数据、公式、图表等信息。在本文中,我们将介绍如何使用Java读取和写入Excel文件。

读取Excel文件

要读取Excel文件,我们可以使用Apache POI库。Apache POI是一个专门用于处理Microsoft Office文件的Java库,它提供了读取、写入和操作Excel、Word和PowerPoint文件的功能。

首先,我们需要在项目中添加Apache POI的依赖。可以通过Maven或手动下载并添加JAR文件来实现。以下是Maven的依赖配置:

<dependency>
    <groupId>org.apache.poi</groupId>
    <artifactId>poi</artifactId>
    <version>4.1.0</version>
</dependency>
<dependency>
    <groupId>org.apache.poi</groupId>
    <artifactId>poi-ooxml</artifactId>
    <version>4.1.0</version>
</dependency>

接下来,我们可以使用以下代码读取Excel文件:

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

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

public class ExcelReader {
    public static void main(String[] args) {
        try (FileInputStream fis = new FileInputStream("example.xlsx");
             Workbook workbook = new XSSFWorkbook(fis)) {

            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;
                        case BOOLEAN:
                            System.out.print(cell.getBooleanCellValue() + "\t");
                            break;
                        default:
                            System.out.print("\t");
                    }
                }
                System.out.println();
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

上述代码中,首先创建一个FileInputStream对象来读取Excel文件。然后,使用XSSFWorkbook类的构造函数将输入流传递给Workbook对象。接下来,我们可以通过调用getSheetAt()方法获取工作表,并使用嵌套的循环遍历每个单元格。根据单元格的类型,我们可以使用getStringCellValue()getNumericCellValue()getBooleanCellValue()方法获取单元格的值。

写入Excel文件

要写入Excel文件,我们可以使用相同的Apache POI库。以下是一个示例代码:

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

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

public class ExcelWriter {
    public static void main(String[] args) {
        try (Workbook workbook = new XSSFWorkbook();
             FileOutputStream fos = new FileOutputStream("output.xlsx")) {

            Sheet sheet = workbook.createSheet("Sheet1");

            Row headerRow = sheet.createRow(0);
            Cell headerCell1 = headerRow.createCell(0);
            headerCell1.setCellValue("Name");

            Cell headerCell2 = headerRow.createCell(1);
            headerCell2.setCellValue("Age");

            Row dataRow = sheet.createRow(1);
            Cell dataCell1 = dataRow.createCell(0);
            dataCell1.setCellValue("John Doe");

            Cell dataCell2 = dataRow.createCell(1);
            dataCell2.setCellValue(25);

            workbook.write(fos);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

上述代码创建了一个新的Workbook对象,并使用XSSFWorkbook类实现。然后,我们创建了一个名为"Sheet1"的工作表,并在第一行创建了两个标题单元格。接下来,在第二行创建了两个数据单元格,并使用setCellValue()方法设置其值。最后,将工作簿写入文件中。

总结

本文介绍了如何使用Java读取和写入Excel文件。我们使用Apache POI库提供的类和方法来实现这些操作。通过调用适当的方法,我们可以轻松地读取和写入Excel文件中的数据。希望这篇文章对你理解和使用Java处理Excel文件有所帮助。

相关链接

  • [Apache POI官方网站](
  • [Apache POI文档](