Java 中有多种开源库可以用于操作 Excel 文件,以下是一些常用的库以及简单的示例代码:
Apache POI
Apache POI 是最流行的 Java API 之一,用于处理 Microsoft Office 文件,包括 Excel。
Maven 依赖
<dependencies>
<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>
</dependencies>
创建 Excel 文件的简单示例
import org.apache.poi.ss.usermodel.*;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import java.io.FileOutputStream;
import java.io.IOException;
public class ApachePOIDemo {
public static void main(String[] args) throws IOException {
Workbook workbook = new XSSFWorkbook();
Sheet sheet = workbook.createSheet("Example Sheet");
Row row = sheet.createRow(0);
Cell cell = row.createCell(0);
cell.setCellValue("Hello, World!");
try (FileOutputStream fileOut = new FileOutputStream("workbook.xlsx")) {
workbook.write(fileOut);
}
workbook.close();
}
}
EasyExcel
EasyExcel 是一个基于 Apache POI 的开源库,专门用于简化 Excel 文件的读写操作。
Maven 依赖
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>easyexcel</artifactId>
<version>3.0.5</version>
</dependency>
读取 Excel 文件的简单示例
import com.alibaba.excel.EasyExcel;
public class EasyExcelReadDemo {
public static void main(String[] args) {
String fileName = "example.xlsx";
EasyExcel.read(fileName, DemoData.class, new DemoDataListener()).sheet().doRead();
}
}
// 定义数据模型
class DemoData {
private String name;
private int age;
// getter 和 setter 省略
}
// 定义监听器
class DemoDataListener implements ReadListener<DemoData> {
@Override
public void invoke(DemoData data, AnalysisContext context) {
System.out.println("Read data: " + data);
}
@Override
public void doAfterAllAnalysed(AnalysisContext context) {
System.out.println("All data is read.");
}
}
这些示例仅展示了如何使用这些库进行基础操作。这些库的功能非常强大,支持更复杂的操作,如样式设置、公式计算、大数据处理等。你可以根据项目需求进行更深入的学习和使用。