在Java中读取Excel文件,可以使用Apache POI库或JXL库。以下是使用Apache POI库读取Excel文件的步骤和示例代码:
- 导入Apache POI库 :
- 如果你使用的是Maven项目,可以在
pom.xml
文件中添加以下依赖:
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>5.2.3</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>5.2.3</version>
</dependency>
```
- 如果你使用的是Gradle项目,可以在`build.gradle`文件中添加以下依赖<b class="card40_249__sup_a7f6" data-sup="sup">3</b>:
```groovy
implementation 'org.apache.poi:poi:5.2.3'
implementation 'org.apache.poi:poi-ooxml:5.2.3'
```
2. **创建`FileInputStream`对象** :
- 使用`FileInputStream`对象加载Excel文件到内存中。
3. **创建`Workbook`对象** :
- 使用`WorkbookFactory.create(InputStream)`方法创建`Workbook`对象<b class="card40_249__sup_a7f6" data-sup="sup">3</b>。
4. **获取`Sheet`对象** :
- 通过`Workbook`对象的`getSheet()`方法获取工作表对象。
5. **遍历行和单元格** :
- 使用`Sheet`对象的`iterator()`方法获取所有行,再遍历每一行的`Cell`,读取数据<b class="card40_249__sup_a7f6" data-sup="sup">4</b>。
以下是一个完整的示例代码<b class="card40_249__sup_a7f6" data-sup="sup">7</b>:
```java
import org.apache.poi.ss.usermodel.*;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.util.Iterator;
public class ExcelReader {
public static void main(String[] args) {
try (FileInputStream fis = new FileInputStream(new File("path/to/your/excel/file.xlsx"))) {
Workbook workbook = new XSSFWorkbook(fis);
Sheet sheet = workbook.getSheetAt(0);
Iterator<Row> rowIterator = sheet.iterator();
while (rowIterator.hasNext()) {
Row row = rowIterator.next();
Iterator<Cell> cellIterator = row.cellIterator();
while (cellIterator.hasNext()) {
Cell cell = cellIterator.next();
switch (cell.getCellType()) {
case STRING:
System.out.print(cell.getStringCellValue() + "\t");
break;
case NUMERIC:
System.out.print(cell.getNumericCellValue() + "\t");
break;
case BOOLEAN:
System.out.print(cell.getBooleanCellValue() + "\t");
break;
default:
System.out.print("Unknown cell type\t");
}
}
System.out.println();
}
workbook.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
使用JXL库读取Excel文件
如果你选择使用JXL库,以下是一个简单的示例代码:
- 导入JXL库 :
- 确保你已经将JXL库添加到项目的依赖中。
-
创建
FileInputStream
对象 :
- 使用
FileInputStream
对象加载Excel文件到内存中。
-
创建
Workbook
对象 :
- 使用
Workbook.getWorkbook(FileInputStream)
方法创建Workbook
对象。
-
获取
Sheet
对象 :
- 通过
Workbook
对象的getSheet(int sheetIndex)
方法获取工作表对象。
- 遍历行和单元格 :
- 使用
Sheet
对象的getRow(int rowNum)
方法获取行对象,然后遍历行中的单元格。
以下是一个完整的示例代码: