使用 Java 处理 XLS 文件
在日常开发中,我们常常需要处理 XLS 格式的电子表格文件。Java 提供了许多库来简化这个过程,其中最流行的库之一是 Apache POI。本文将介绍如何使用 Apache POI 来读取和写入 XLS 文件,并提供一些示例代码,帮助你快速上手。
1. 环境准备
首先,你需要在项目中引入 Apache POI 的依赖。如果你使用 Maven 进行项目管理,可以在 pom.xml
文件中添加以下依赖:
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>5.2.0</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>5.2.0</version>
</dependency>
2. 类图设计
为了更好地组织代码,我们可以设计一个类图,展示主要的类和它们之间的关系。下面是一个用 Mermaid 语法表示的类图:
classDiagram
class ExcelHandler {
+readExcel(filePath: String)
+writeExcel(filePath: String, data: List<List<String>>)
}
在这个类图中,ExcelHandler
类负责读取和写入 XLS 文件。
3. 代码示例
3.1 读取 XLS 文件
接下来,我们将实现一个方法来读取 XLS 文件。以下是 ExcelHandler
类的实现:
import org.apache.poi.ss.usermodel.*;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import java.io.FileInputStream;
import java.io.IOException;
public class ExcelHandler {
public void readExcel(String filePath) {
try (FileInputStream fis = new FileInputStream(filePath);
Workbook workbook = new XSSFWorkbook(fis)) {
Sheet sheet = workbook.getSheetAt(0); // 读取第一个工作表
for (Row row : sheet) {
for (Cell cell : row) {
System.out.print(cell.toString() + "\t");
}
System.out.println();
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
3.2 写入 XLS 文件
现在我们来实现一个方法,将数据写入一个新的 XLS 文件:
import org.apache.poi.ss.usermodel.*;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.List;
public class ExcelHandler {
// 其他方法...
public void writeExcel(String filePath, List<List<String>> data) {
try (Workbook workbook = new XSSFWorkbook();
FileOutputStream fos = new FileOutputStream(filePath)) {
Sheet sheet = workbook.createSheet("Data");
for (int i = 0; i < data.size(); i++) {
Row row = sheet.createRow(i);
List<String> rowData = data.get(i);
for (int j = 0; j < rowData.size(); j++) {
Cell cell = row.createCell(j);
cell.setCellValue(rowData.get(j));
}
}
workbook.write(fos);
} catch (IOException e) {
e.printStackTrace();
}
}
}
4. 使用示例
最后,我们可以在主程序中使用 ExcelHandler
类来读取和写入 XLS 文件:
import java.util.Arrays;
public class Main {
public static void main(String[] args) {
ExcelHandler handler = new ExcelHandler();
// 写入数据
handler.writeExcel("example.xlsx", Arrays.asList(
Arrays.asList("Name", "Age"),
Arrays.asList("Alice", "30"),
Arrays.asList("Bob", "25")
));
// 读取数据
handler.readExcel("example.xlsx");
}
}
结尾
通过本文的介绍,你应该能够使用 Java 和 Apache POI 库来处理 XLS 文件。无论是读取数据还是写入数据,掌握了这些基本操作后,你可以更加灵活地处理电子表格中的信息。继续探索 Apache POI 库的更多功能,可以帮助你在实际项目中提高工作效率。希望这个小教程对你有所帮助!