java 读取excel表
时间: 2024-09-20 16:06:26 浏览: 32
java excel处理
在Java中,使用Apache POI库来读取Excel文件非常方便。以下是一个简单的例子,展示了如何读取.xls或.xlsx文件的内容:
1. **添加依赖**:
首先,在你的Maven项目中添加Apache POI的依赖:
```xml
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>5.0.0</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>5.0.0</version>
</dependency>
```
`poi`用于处理.xls文件,`poi-ooxml`用于.xlsx文件。
2. **打开文件**:
使用`FileInputStream`和`WorkbookFactory`的静态方法`create Workbook()`创建一个`HSSFWorkbook`或`XSSFWorkbook`实例,代表Excel文件。
3. **获取工作表**:
使用`Workbook`的`getSheetAt(index)`方法获取指定索引位置的工作表,或者使用`getSheetByName(name)`获取名称匹配的工作表。
4. **读取数据**:
使用`Sheet`的`getRowIterator()`方法迭代行,然后使用`Row`的`getCell(int columnIndex)`获取指定列的单元格。对于数值、字符串等类型,使用相应的方法(如`getNumericCellValue()`, `getStringCellValue()`等)获取内容。
```java
import org.apache.poi.ss.usermodel.*;
import java.io.File;
import java.io.FileInputStream;
public void readExcel(String filePath) {
try (FileInputStream fis = new FileInputStream(new File(filePath));
Workbook workbook = WorkbookFactory.create(fis)) {
Sheet sheet = workbook.getSheetAt(0); // 或者sheetByName("Sheet1")
for (Row row : sheet) {
for (int i = 0; i < row.getLastCellNum(); i++) {
Cell cell = row.getCell(i);
if (cell != null) {
switch (cell.getCellType()) {
case NUMERIC:
System.out.println("第 " + (i+1) + " 列: " + cell.getNumericCellValue());
break;
case STRING:
System.out.println("第 " + (i+1) + " 列: " + cell.getStringCellValue());
break;
// 添加其他类型的支持...
}
}
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
阅读全文