如何使用java wb
使用 Java 操作 Excel(Workbook)
Java 可以通过 Apache POI 库操作 Excel 文件(.xls 和 .xlsx 格式)。以下是基本操作示例:
添加依赖
在 Maven 项目中添加 POI 依赖:

<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>5.2.5</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>5.2.5</version>
</dependency>
创建 Excel 文件
import org.apache.poi.ss.usermodel.*;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import java.io.FileOutputStream;
public class ExcelWriter {
public static void main(String[] args) throws Exception {
Workbook workbook = new XSSFWorkbook(); // 创建 XLSX 文件
Sheet sheet = workbook.createSheet("Sheet1"); // 创建工作表
// 创建行(索引从 0 开始)
Row row = sheet.createRow(0);
// 创建单元格并写入数据
row.createCell(0).setCellValue("姓名");
row.createCell(1).setCellValue("年龄");
// 写入文件
try (FileOutputStream fos = new FileOutputStream("example.xlsx")) {
workbook.write(fos);
}
workbook.close();
}
}
读取 Excel 文件
import org.apache.poi.ss.usermodel.*;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import java.io.FileInputStream;
public class ExcelReader {
public static void main(String[] args) throws Exception {
FileInputStream fis = new FileInputStream("example.xlsx");
Workbook workbook = new XSSFWorkbook(fis); // 加载 XLSX 文件
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;
default:
System.out.print("\t");
}
}
System.out.println();
}
workbook.close();
fis.close();
}
}
修改 Excel 文件
import org.apache.poi.ss.usermodel.*;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import java.io.FileInputStream;
import java.io.FileOutputStream;
public class ExcelModifier {
public static void main(String[] args) throws Exception {
FileInputStream fis = new FileInputStream("example.xlsx");
Workbook workbook = new XSSFWorkbook(fis);
Sheet sheet = workbook.getSheetAt(0);
// 修改单元格内容
Row row = sheet.getRow(0);
row.getCell(1).setCellValue("新年龄");
// 保存修改
try (FileOutputStream fos = new FileOutputStream("example_modified.xlsx")) {
workbook.write(fos);
}
workbook.close();
fis.close();
}
}
注意事项
- 文件格式:
HSSFWorkbook用于.xls,XSSFWorkbook用于.xlsx。 - 内存优化:处理大数据时使用
SXSSFWorkbook以避免内存溢出。 - 异常处理:确保关闭
Workbook和文件流,防止资源泄漏。






