Java常用函数库实现:使用ApachePOI实现Excel读写操作
发布时间:2023-07-01 05:30:55
Apache POI是一个用Java编写的开源库,用于处理Microsoft Office格式的文件,最常用的是Excel文件。它提供了许多类和方法,使得我们可以轻松地读取和写入Excel文件。
首先,我们需要将Apache POI的库文件添加到我们的项目中。可以通过在Maven项目的POM文件中添加以下依赖来实现:
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>4.1.2</version>
</dependency>
读取Excel文件:
要读取一个Excel文件,我们首先需要创建一个Workbook对象并使用正确的文件路径或InputStream初始化它。然后,我们可以使用Workbook对象访问每个Sheet和每个单元格。
下面是一个读取Excel文件的示例代码:
import org.apache.poi.ss.usermodel.*;
import java.io.FileInputStream;
import java.io.IOException;
public class ExcelReader {
public static void main(String[] args) {
try {
// 创建Workbook对象
FileInputStream file = new FileInputStream("path/to/file.xlsx");
Workbook workbook = WorkbookFactory.create(file);
// 获取 个Sheet
Sheet sheet = workbook.getSheetAt(0);
// 遍历每一行
for (Row row : sheet) {
// 遍历每个单元格
for (Cell cell : row) {
// 获取单元格的值
String value = cell.getStringCellValue();
System.out.print(value + "\t");
}
System.out.println();
}
// 关闭Workbook和输入流
workbook.close();
file.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
写入Excel文件:
要写入一个Excel文件,我们需要创建一个Workbook对象并使用正确的文件路径或OutputStream来初始化它。然后,我们可以创建一个Sheet和行对象,并使用行对象来设置每个单元格的值。
下面是一个写入Excel文件的示例代码:
import org.apache.poi.ss.usermodel.*;
import java.io.FileOutputStream;
import java.io.IOException;
public class ExcelWriter {
public static void main(String[] args) {
try {
// 创建Workbook对象
Workbook workbook = new XSSFWorkbook();
// 创建Sheet对象
Sheet sheet = workbook.createSheet("Sheet1");
// 创建行对象
Row row = sheet.createRow(0);
// 创建单元格对象并设置值
Cell cell1 = row.createCell(0);
cell1.setCellValue("Hello");
Cell cell2 = row.createCell(1);
cell2.setCellValue("World");
// 创建文件输出流
FileOutputStream file = new FileOutputStream("path/to/file.xlsx");
// 将Workbook写入文件
workbook.write(file);
// 关闭Workbook和输出流
workbook.close();
file.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
这只是Apache POI的一小部分功能,它还提供了许多其他功能,例如在单元格中设置样式、合并单元格、设置公式等。您可以查看Apache POI的官方文档以获取更多详细信息。
使用Apache POI可以轻松地进行Excel文件的读取和写入操作,非常方便实用。无论是处理大型数据集还是创建报表,Apache POI都是一个非常有用的工具。
