Java的io流读取excel文件
时间: 2024-10-08 10:00:20 浏览: 37
JAVA使用POI(XSSFWORKBOOK)读取EXCEL文件过程解析
5星 · 资源好评率100%
在Java中,可以使用Apache POI库来处理Excel文件(.xls 或 .xlsx)。IO流(Input/Output Stream)通常用于读取和写入数据,包括Excel。以下是基本步骤:
1. 引入所需的库:首先需要在项目中添加Apache POI依赖,例如Maven中添加`<dependency>`到pom.xml文件:
```xml
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>4.1.2</version> <!-- 最新版本 -->
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>4.1.2</version> <!-- 如果处理.xlsx文件)
</dependency>
```
2. 创建 FileInputStream 或者 XSSFWorkbook(xlsx):根据文件类型创建相应的输入流。
```java
FileInputStream fis = new FileInputStream("path_to_your_excel_file.xls");
// 或者如果是.xlsx文件
XSSFWorkbook workbook = new XSSFWorkbook(new FileInputStream("path_to_your_excel_file.xlsx"));
```
3. 使用HSSFWorkbook或XSSFWorkbook遍历工作簿和工作表:
```java
Workbook workbook = ...; // 从步骤2获取
Sheet sheet = workbook.getSheetAt(0); // 获取第一个工作表,按索引从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();
String value = cell.getStringCellValue(); // 对于文本类型的单元格
// 根据cell类型处理其他值
}
}
```
4. 关闭资源:记得在操作完成后关闭文件流和workbook。
```java
fis.close(); // 如果是 FileInputStream
workbook.close();
```
阅读全文